From 50ad5d1163477cf77680e8a6ec978c371246c79c Mon Sep 17 00:00:00 2001 From: Matthew Guthaus Date: Sun, 1 Mar 2026 08:07:25 -0800 Subject: [PATCH 1/9] Make runorfs take an argument. --- .gitmodules | 3 +++ designs/src/bp_processor/dev/repo | 1 + 2 files changed, 4 insertions(+) create mode 160000 designs/src/bp_processor/dev/repo diff --git a/.gitmodules b/.gitmodules index 927bba4..cb5bb06 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,3 +19,6 @@ [submodule "designs/src/gemmini/dev/repo"] path = designs/src/gemmini/dev/repo url = https://github.com/ucb-bar/gemmini.git +[submodule "designs/src/bp_processor/dev/repo"] + path = designs/src/bp_processor/dev/repo + url = https://github.com/black-parrot/black-parrot.git diff --git a/designs/src/bp_processor/dev/repo b/designs/src/bp_processor/dev/repo new file mode 160000 index 0000000..f6619cb --- /dev/null +++ b/designs/src/bp_processor/dev/repo @@ -0,0 +1 @@ +Subproject commit f6619cbc7a2f4533e06e0b3384e73ea07fee6846 From 8246786cd70e546750627012a8debb572c586ed3 Mon Sep 17 00:00:00 2001 From: Matthew Guthaus Date: Mon, 2 Mar 2026 10:05:02 -0800 Subject: [PATCH 2/9] Add Black-Parrot quad-core RISC-V benchmark targeting ASAP7 Add bp_processor (Black-Parrot quad-core, e_bp_multicore_4_cfg) as a new HighTide benchmark design. RTL is generated from SystemVerilog via sv2v, with large SRAM memories (>= 1024 bits) mapped to FakeRAM macros to keep ABC synthesis tractable (~304K gates, 140 SRAM macros, 7.5 min synth). - setup.sh: sv2v conversion from Black-Parrot repo flist.vcs, followed by patch_mem.py (strips bsg_mem_*_synth register arrays) and gen_fakeram.py (generates FakeRAM LEF/LIB and parameterized macros.v replacements) - 8 FakeRAM configs for ASAP7 (512x64, 512x8, 128x8, 64x184, 64x50, 32x66, 32x48, 8x174) - Hierarchical synthesis with SYNTH_MINIMUM_KEEP_SIZE=500 - 1500ps clock period, 800x800 die area --- Makefile | 1 + designs/asap7/bp_processor/config.mk | 39 + designs/asap7/bp_processor/constraint.sdc | 18 + designs/asap7/bp_processor/macros.v | 315 + .../sram/lef/fakeram_128x8_1rw.lef | 323 ++ .../sram/lef/fakeram_32x48_1rw.lef | 1385 +++++ .../sram/lef/fakeram_32x66_1rw.lef | 1871 ++++++ .../sram/lef/fakeram_512x64_1rw.lef | 1853 ++++++ .../sram/lef/fakeram_512x8_1rw.lef | 341 ++ .../sram/lef/fakeram_64x184_1rw.lef | 5066 +++++++++++++++++ .../sram/lef/fakeram_64x50_1rw.lef | 1448 +++++ .../sram/lef/fakeram_8x174_1rw.lef | 4769 ++++++++++++++++ .../sram/lib/fakeram_128x8_1rw.lib | 240 + .../sram/lib/fakeram_32x48_1rw.lib | 240 + .../sram/lib/fakeram_32x66_1rw.lib | 240 + .../sram/lib/fakeram_512x64_1rw.lib | 240 + .../sram/lib/fakeram_512x8_1rw.lib | 240 + .../sram/lib/fakeram_64x184_1rw.lib | 240 + .../sram/lib/fakeram_64x50_1rw.lib | 240 + .../sram/lib/fakeram_8x174_1rw.lib | 240 + designs/src/bp_processor/dev/gen_fakeram.py | 539 ++ designs/src/bp_processor/dev/patch_mem.py | 72 + designs/src/bp_processor/dev/setup.sh | 175 + designs/src/bp_processor/verilog.mk | 27 + 24 files changed, 20162 insertions(+) create mode 100644 designs/asap7/bp_processor/config.mk create mode 100644 designs/asap7/bp_processor/constraint.sdc create mode 100644 designs/asap7/bp_processor/macros.v create mode 100644 designs/asap7/bp_processor/sram/lef/fakeram_128x8_1rw.lef create mode 100644 designs/asap7/bp_processor/sram/lef/fakeram_32x48_1rw.lef create mode 100644 designs/asap7/bp_processor/sram/lef/fakeram_32x66_1rw.lef create mode 100644 designs/asap7/bp_processor/sram/lef/fakeram_512x64_1rw.lef create mode 100644 designs/asap7/bp_processor/sram/lef/fakeram_512x8_1rw.lef create mode 100644 designs/asap7/bp_processor/sram/lef/fakeram_64x184_1rw.lef create mode 100644 designs/asap7/bp_processor/sram/lef/fakeram_64x50_1rw.lef create mode 100644 designs/asap7/bp_processor/sram/lef/fakeram_8x174_1rw.lef create mode 100644 designs/asap7/bp_processor/sram/lib/fakeram_128x8_1rw.lib create mode 100644 designs/asap7/bp_processor/sram/lib/fakeram_32x48_1rw.lib create mode 100644 designs/asap7/bp_processor/sram/lib/fakeram_32x66_1rw.lib create mode 100644 designs/asap7/bp_processor/sram/lib/fakeram_512x64_1rw.lib create mode 100644 designs/asap7/bp_processor/sram/lib/fakeram_512x8_1rw.lib create mode 100644 designs/asap7/bp_processor/sram/lib/fakeram_64x184_1rw.lib create mode 100644 designs/asap7/bp_processor/sram/lib/fakeram_64x50_1rw.lib create mode 100644 designs/asap7/bp_processor/sram/lib/fakeram_8x174_1rw.lib create mode 100644 designs/src/bp_processor/dev/gen_fakeram.py create mode 100644 designs/src/bp_processor/dev/patch_mem.py create mode 100755 designs/src/bp_processor/dev/setup.sh create mode 100644 designs/src/bp_processor/verilog.mk diff --git a/Makefile b/Makefile index e800b02..bea81f0 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,7 @@ # DESIGN_CONFIG=./designs/asap7/lfsr_prbs_gen/config.mk # DESIGN_CONFIG=./designs/asap7/NyuziProcessor/config.mk # DESIGN_CONFIG=./designs/asap7/gemmini/config.mk +# DESIGN_CONFIG=./designs/asap7/bp_processor/config.mk DESIGN_CONFIG ?= ./designs/nangate45/lfsr_prbs_gen/config.mk -include OpenROAD-flow-scripts/flow/Makefile diff --git a/designs/asap7/bp_processor/config.mk b/designs/asap7/bp_processor/config.mk new file mode 100644 index 0000000..9b1d537 --- /dev/null +++ b/designs/asap7/bp_processor/config.mk @@ -0,0 +1,39 @@ +export DESIGN_NICKNAME ?= bp_quad +export DESIGN_NAME = bp_processor +export PLATFORM = asap7 + +export SYNTH_HIERARCHICAL = 1 +export SYNTH_MINIMUM_KEEP_SIZE = 500 + +-include $(BENCH_DESIGN_HOME)/src/$(DESIGN_NAME)/verilog.mk + +export ABC_AREA = 1 + +export SDC_FILE = $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/constraint.sdc + +export ADDITIONAL_LEFS = $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_8x174_1rw.lef \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_32x48_1rw.lef \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_32x66_1rw.lef \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_64x50_1rw.lef \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_64x184_1rw.lef \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_128x8_1rw.lef \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_512x8_1rw.lef \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_512x64_1rw.lef + +export ADDITIONAL_LIBS = $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_8x174_1rw.lib \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_32x48_1rw.lib \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_32x66_1rw.lib \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_64x50_1rw.lib \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_64x184_1rw.lib \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_128x8_1rw.lib \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_512x8_1rw.lib \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_512x64_1rw.lib + +export SYNTH_MEMORY_MAX_BITS = 65536 + +export DIE_AREA = 0 0 800 800 +export CORE_AREA = 5 5 795 795 + +export MACRO_PLACE_HALO = 5 5 +export PLACE_DENSITY_LB_ADDON = 0.10 +export TNS_END_PERCENT = 100 diff --git a/designs/asap7/bp_processor/constraint.sdc b/designs/asap7/bp_processor/constraint.sdc new file mode 100644 index 0000000..427f61a --- /dev/null +++ b/designs/asap7/bp_processor/constraint.sdc @@ -0,0 +1,18 @@ +current_design bp_processor + +set clk_name CLK +set clk_port_name clk_i +set clk_period 1500 +set clk_io_pct 0.2 + +set clk_port [get_ports $clk_port_name] + +create_clock -name $clk_name -period $clk_period $clk_port + +set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port] + +set_input_delay [expr $clk_period * $clk_io_pct] -clock $clk_name $non_clock_inputs +set_output_delay [expr $clk_period * $clk_io_pct] -clock $clk_name [all_outputs] + +set_driving_cell -lib_cell DFFHQNx2_ASAP7_75t_R -pin QN $non_clock_inputs +set_load [expr 4.0 * 0.683716] [all_outputs] diff --git a/designs/asap7/bp_processor/macros.v b/designs/asap7/bp_processor/macros.v new file mode 100644 index 0000000..4af5c34 --- /dev/null +++ b/designs/asap7/bp_processor/macros.v @@ -0,0 +1,315 @@ +// Auto-generated FakeRAM-backed bsg_mem_*_synth replacements. +// Large memories (>= 1024 bits) use FakeRAM macros. +// Small memories fall back to register-array implementation. +// +// Generated by gen_fakeram.py — do not edit manually. + +module bsg_mem_1rw_sync_synth ( + clk_i, + v_i, + reset_i, + data_i, + addr_i, + w_i, + data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter latch_last_read_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter verbose_p = 1; + input clk_i; + input v_i; + input reset_i; + input [(width_p < 1 ? 0 : width_p - 1):0] data_i; + input [addr_width_lp - 1:0] addr_i; + input w_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] data_o; + wire unused = reset_i; + generate + if ((width_p == 0) || (els_p == 0)) begin : z + wire unused0 = &{clk_i, v_i, data_i, addr_i, w_i}; + assign data_o = 1'sb0; + end + else if ((els_p == 512) && (width_p == 64)) begin : fakeram_512x64 + fakeram_512x64_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in({64{w_i}}), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 64) && (width_p == 184)) begin : fakeram_64x184 + fakeram_64x184_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in({184{w_i}}), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 512) && (width_p == 8)) begin : fakeram_512x8 + fakeram_512x8_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in({8{w_i}}), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 64) && (width_p == 50)) begin : fakeram_64x50 + fakeram_64x50_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in({50{w_i}}), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 32) && (width_p == 66)) begin : fakeram_32x66 + fakeram_32x66_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in({66{w_i}}), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 32) && (width_p == 48)) begin : fakeram_32x48 + fakeram_32x48_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in({48{w_i}}), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 8) && (width_p == 174)) begin : fakeram_8x174 + fakeram_8x174_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in({174{w_i}}), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 128) && (width_p == 8)) begin : fakeram_128x8 + fakeram_128x8_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in({8{w_i}}), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else begin : nz + reg [addr_width_lp - 1:0] addr_r; + reg [width_p - 1:0] mem [els_p - 1:0]; + wire read_en; + wire [width_p - 1:0] data_out; + wire [addr_width_lp - 1:0] addr_li = (els_p > 0 ? addr_i : {addr_width_lp {1'sb0}}); + assign read_en = v_i & ~w_i; + assign data_out = mem[addr_r]; + always @(posedge clk_i) + if (read_en) + addr_r <= addr_li; + else + addr_r <= 1'sbx; + if (latch_last_read_p) begin : llr + wire read_en_r; + bsg_dff #(.width_p(1)) read_en_dff( + .clk_i(clk_i), + .data_i(read_en), + .data_o(read_en_r) + ); + bsg_dff_en_bypass #(.width_p(width_p)) dff_bypass( + .clk_i(clk_i), + .en_i(read_en_r), + .data_i(data_out), + .data_o(data_o) + ); + end + else begin : no_llr + assign data_o = data_out; + end + always @(posedge clk_i) + if (v_i & w_i) + mem[addr_li] <= data_i; + end + endgenerate +endmodule + +module bsg_mem_1rw_sync_mask_write_bit_synth ( + clk_i, + reset_i, + data_i, + addr_i, + v_i, + w_mask_i, + w_i, + data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter latch_last_read_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + input clk_i; + input reset_i; + input [(width_p < 1 ? 0 : width_p - 1):0] data_i; + input [addr_width_lp - 1:0] addr_i; + input v_i; + input [(width_p < 1 ? 0 : width_p - 1):0] w_mask_i; + input w_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] data_o; + wire unused = reset_i; + generate + if ((width_p == 0) || (els_p == 0)) begin : z + wire unused0 = &{clk_i, data_i, addr_i, v_i, w_mask_i, w_i}; + assign data_o = 1'sb0; + end + else if ((els_p == 512) && (width_p == 64)) begin : fakeram_512x64 + fakeram_512x64_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in(w_mask_i), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 64) && (width_p == 184)) begin : fakeram_64x184 + fakeram_64x184_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in(w_mask_i), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 512) && (width_p == 8)) begin : fakeram_512x8 + fakeram_512x8_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in(w_mask_i), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 64) && (width_p == 50)) begin : fakeram_64x50 + fakeram_64x50_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in(w_mask_i), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 32) && (width_p == 66)) begin : fakeram_32x66 + fakeram_32x66_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in(w_mask_i), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 32) && (width_p == 48)) begin : fakeram_32x48 + fakeram_32x48_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in(w_mask_i), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 8) && (width_p == 174)) begin : fakeram_8x174 + fakeram_8x174_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in(w_mask_i), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else if ((els_p == 128) && (width_p == 8)) begin : fakeram_128x8 + fakeram_128x8_1rw mem ( + .clk(clk_i), + .ce_in(v_i), + .we_in(w_i), + .w_mask_in(w_mask_i), + .addr_in(addr_i), + .wd_in(data_i), + .rd_out(data_o) + ); + end + else begin : nz + reg [addr_width_lp - 1:0] addr_r; + reg [width_p - 1:0] mem [els_p - 1:0]; + wire read_en; + wire [addr_width_lp - 1:0] addr_li = (els_p > 1 ? addr_i : {addr_width_lp {1'sb0}}); + assign read_en = v_i & ~w_i; + always @(posedge clk_i) + if (read_en) + addr_r <= addr_li; + else + addr_r <= 1'sbx; + wire [width_p - 1:0] data_out; + assign data_out = mem[addr_r]; + if (latch_last_read_p) begin : llr + wire read_en_r; + bsg_dff #(.width_p(1)) read_en_dff( + .clk_i(clk_i), + .data_i(read_en), + .data_o(read_en_r) + ); + bsg_dff_en_bypass #(.width_p(width_p)) dff_bypass( + .clk_i(clk_i), + .en_i(read_en_r), + .data_i(data_out), + .data_o(data_o) + ); + end + else begin : no_llr + assign data_o = data_out; + end + always @(posedge clk_i) + if (v_i & w_i) begin : sv2v_autoblock_1 + integer i; + for (i = 0; i < width_p; i = i + 1) + if (w_mask_i[i]) + mem[addr_li][i] <= data_i[i]; + end + end + endgenerate +endmodule + diff --git a/designs/asap7/bp_processor/sram/lef/fakeram_128x8_1rw.lef b/designs/asap7/bp_processor/sram/lef/fakeram_128x8_1rw.lef new file mode 100644 index 0000000..3edb3f4 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lef/fakeram_128x8_1rw.lef @@ -0,0 +1,323 @@ +VERSION 5.7 ; +BUSBITCHARS "[]" ; +MACRO fakeram_128x8_1rw + FOREIGN fakeram_128x8_1rw 0 0 ; + SYMMETRY X Y R90 ; + SIZE 32.022 BY 16.200 ; + CLASS BLOCK ; + PIN wd_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.144 0.024 0.168 ; + END + END wd_in[0] + PIN wd_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.288 0.024 0.312 ; + END + END wd_in[1] + PIN wd_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.432 0.024 0.456 ; + END + END wd_in[2] + PIN wd_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.576 0.024 0.600 ; + END + END wd_in[3] + PIN wd_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.720 0.024 0.744 ; + END + END wd_in[4] + PIN wd_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.864 0.024 0.888 ; + END + END wd_in[5] + PIN wd_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.008 0.024 1.032 ; + END + END wd_in[6] + PIN wd_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.152 0.024 1.176 ; + END + END wd_in[7] + PIN w_mask_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.296 0.024 1.320 ; + END + END w_mask_in[0] + PIN w_mask_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.440 0.024 1.464 ; + END + END w_mask_in[1] + PIN w_mask_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.584 0.024 1.608 ; + END + END w_mask_in[2] + PIN w_mask_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.728 0.024 1.752 ; + END + END w_mask_in[3] + PIN w_mask_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.872 0.024 1.896 ; + END + END w_mask_in[4] + PIN w_mask_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.016 0.024 2.040 ; + END + END w_mask_in[5] + PIN w_mask_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.160 0.024 2.184 ; + END + END w_mask_in[6] + PIN w_mask_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.304 0.024 2.328 ; + END + END w_mask_in[7] + PIN addr_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.448 0.024 2.472 ; + END + END addr_in[0] + PIN addr_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.592 0.024 2.616 ; + END + END addr_in[1] + PIN addr_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.736 0.024 2.760 ; + END + END addr_in[2] + PIN addr_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.880 0.024 2.904 ; + END + END addr_in[3] + PIN addr_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.024 0.024 3.048 ; + END + END addr_in[4] + PIN addr_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.168 0.024 3.192 ; + END + END addr_in[5] + PIN addr_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.312 0.024 3.336 ; + END + END addr_in[6] + PIN rd_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.456 0.024 3.480 ; + END + END rd_out[0] + PIN rd_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.600 0.024 3.624 ; + END + END rd_out[1] + PIN rd_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.744 0.024 3.768 ; + END + END rd_out[2] + PIN rd_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.888 0.024 3.912 ; + END + END rd_out[3] + PIN rd_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.032 0.024 4.056 ; + END + END rd_out[4] + PIN rd_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.176 0.024 4.200 ; + END + END rd_out[5] + PIN rd_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.320 0.024 4.344 ; + END + END rd_out[6] + PIN rd_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.464 0.024 4.488 ; + END + END rd_out[7] + PIN clk + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.608 0.024 4.632 ; + END + END clk + PIN ce_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.752 0.024 4.776 ; + END + END ce_in + PIN we_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.896 0.024 4.920 ; + END + END we_in + OBS + LAYER M1 ; + RECT 0.000 0.000 32.022 16.200 ; + LAYER M2 ; + RECT 0.000 0.000 32.022 16.200 ; + LAYER M3 ; + RECT 0.000 0.000 32.022 16.200 ; + END +END fakeram_128x8_1rw +END LIBRARY diff --git a/designs/asap7/bp_processor/sram/lef/fakeram_32x48_1rw.lef b/designs/asap7/bp_processor/sram/lef/fakeram_32x48_1rw.lef new file mode 100644 index 0000000..3d6bebc --- /dev/null +++ b/designs/asap7/bp_processor/sram/lef/fakeram_32x48_1rw.lef @@ -0,0 +1,1385 @@ +VERSION 5.7 ; +BUSBITCHARS "[]" ; +MACRO fakeram_32x48_1rw + FOREIGN fakeram_32x48_1rw 0 0 ; + SYMMETRY X Y R90 ; + SIZE 39.204 BY 22.680 ; + CLASS BLOCK ; + PIN wd_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.144 0.024 0.168 ; + END + END wd_in[0] + PIN wd_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.288 0.024 0.312 ; + END + END wd_in[1] + PIN wd_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.432 0.024 0.456 ; + END + END wd_in[2] + PIN wd_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.576 0.024 0.600 ; + END + END wd_in[3] + PIN wd_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.720 0.024 0.744 ; + END + END wd_in[4] + PIN wd_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.864 0.024 0.888 ; + END + END wd_in[5] + PIN wd_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.008 0.024 1.032 ; + END + END wd_in[6] + PIN wd_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.152 0.024 1.176 ; + END + END wd_in[7] + PIN wd_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.296 0.024 1.320 ; + END + END wd_in[8] + PIN wd_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.440 0.024 1.464 ; + END + END wd_in[9] + PIN wd_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.584 0.024 1.608 ; + END + END wd_in[10] + PIN wd_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.728 0.024 1.752 ; + END + END wd_in[11] + PIN wd_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.872 0.024 1.896 ; + END + END wd_in[12] + PIN wd_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.016 0.024 2.040 ; + END + END wd_in[13] + PIN wd_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.160 0.024 2.184 ; + END + END wd_in[14] + PIN wd_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.304 0.024 2.328 ; + END + END wd_in[15] + PIN wd_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.448 0.024 2.472 ; + END + END wd_in[16] + PIN wd_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.592 0.024 2.616 ; + END + END wd_in[17] + PIN wd_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.736 0.024 2.760 ; + END + END wd_in[18] + PIN wd_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.880 0.024 2.904 ; + END + END wd_in[19] + PIN wd_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.024 0.024 3.048 ; + END + END wd_in[20] + PIN wd_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.168 0.024 3.192 ; + END + END wd_in[21] + PIN wd_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.312 0.024 3.336 ; + END + END wd_in[22] + PIN wd_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.456 0.024 3.480 ; + END + END wd_in[23] + PIN wd_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.600 0.024 3.624 ; + END + END wd_in[24] + PIN wd_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.744 0.024 3.768 ; + END + END wd_in[25] + PIN wd_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.888 0.024 3.912 ; + END + END wd_in[26] + PIN wd_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.032 0.024 4.056 ; + END + END wd_in[27] + PIN wd_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.176 0.024 4.200 ; + END + END wd_in[28] + PIN wd_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.320 0.024 4.344 ; + END + END wd_in[29] + PIN wd_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.464 0.024 4.488 ; + END + END wd_in[30] + PIN wd_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.608 0.024 4.632 ; + END + END wd_in[31] + PIN wd_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.752 0.024 4.776 ; + END + END wd_in[32] + PIN wd_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.896 0.024 4.920 ; + END + END wd_in[33] + PIN wd_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.040 0.024 5.064 ; + END + END wd_in[34] + PIN wd_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.184 0.024 5.208 ; + END + END wd_in[35] + PIN wd_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.328 0.024 5.352 ; + END + END wd_in[36] + PIN wd_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.472 0.024 5.496 ; + END + END wd_in[37] + PIN wd_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.616 0.024 5.640 ; + END + END wd_in[38] + PIN wd_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.760 0.024 5.784 ; + END + END wd_in[39] + PIN wd_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.904 0.024 5.928 ; + END + END wd_in[40] + PIN wd_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.048 0.024 6.072 ; + END + END wd_in[41] + PIN wd_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.192 0.024 6.216 ; + END + END wd_in[42] + PIN wd_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.336 0.024 6.360 ; + END + END wd_in[43] + PIN wd_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.480 0.024 6.504 ; + END + END wd_in[44] + PIN wd_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.624 0.024 6.648 ; + END + END wd_in[45] + PIN wd_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.768 0.024 6.792 ; + END + END wd_in[46] + PIN wd_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.912 0.024 6.936 ; + END + END wd_in[47] + PIN w_mask_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.056 0.024 7.080 ; + END + END w_mask_in[0] + PIN w_mask_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.200 0.024 7.224 ; + END + END w_mask_in[1] + PIN w_mask_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.344 0.024 7.368 ; + END + END w_mask_in[2] + PIN w_mask_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.488 0.024 7.512 ; + END + END w_mask_in[3] + PIN w_mask_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.632 0.024 7.656 ; + END + END w_mask_in[4] + PIN w_mask_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.776 0.024 7.800 ; + END + END w_mask_in[5] + PIN w_mask_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.920 0.024 7.944 ; + END + END w_mask_in[6] + PIN w_mask_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.064 0.024 8.088 ; + END + END w_mask_in[7] + PIN w_mask_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.208 0.024 8.232 ; + END + END w_mask_in[8] + PIN w_mask_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.352 0.024 8.376 ; + END + END w_mask_in[9] + PIN w_mask_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.496 0.024 8.520 ; + END + END w_mask_in[10] + PIN w_mask_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.640 0.024 8.664 ; + END + END w_mask_in[11] + PIN w_mask_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.784 0.024 8.808 ; + END + END w_mask_in[12] + PIN w_mask_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.928 0.024 8.952 ; + END + END w_mask_in[13] + PIN w_mask_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.072 0.024 9.096 ; + END + END w_mask_in[14] + PIN w_mask_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.216 0.024 9.240 ; + END + END w_mask_in[15] + PIN w_mask_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.360 0.024 9.384 ; + END + END w_mask_in[16] + PIN w_mask_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.504 0.024 9.528 ; + END + END w_mask_in[17] + PIN w_mask_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.648 0.024 9.672 ; + END + END w_mask_in[18] + PIN w_mask_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.792 0.024 9.816 ; + END + END w_mask_in[19] + PIN w_mask_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.936 0.024 9.960 ; + END + END w_mask_in[20] + PIN w_mask_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.080 0.024 10.104 ; + END + END w_mask_in[21] + PIN w_mask_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.224 0.024 10.248 ; + END + END w_mask_in[22] + PIN w_mask_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.368 0.024 10.392 ; + END + END w_mask_in[23] + PIN w_mask_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.512 0.024 10.536 ; + END + END w_mask_in[24] + PIN w_mask_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.656 0.024 10.680 ; + END + END w_mask_in[25] + PIN w_mask_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.800 0.024 10.824 ; + END + END w_mask_in[26] + PIN w_mask_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.944 0.024 10.968 ; + END + END w_mask_in[27] + PIN w_mask_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.088 0.024 11.112 ; + END + END w_mask_in[28] + PIN w_mask_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.232 0.024 11.256 ; + END + END w_mask_in[29] + PIN w_mask_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.376 0.024 11.400 ; + END + END w_mask_in[30] + PIN w_mask_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.520 0.024 11.544 ; + END + END w_mask_in[31] + PIN w_mask_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.664 0.024 11.688 ; + END + END w_mask_in[32] + PIN w_mask_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.808 0.024 11.832 ; + END + END w_mask_in[33] + PIN w_mask_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.952 0.024 11.976 ; + END + END w_mask_in[34] + PIN w_mask_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.096 0.024 12.120 ; + END + END w_mask_in[35] + PIN w_mask_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.240 0.024 12.264 ; + END + END w_mask_in[36] + PIN w_mask_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.384 0.024 12.408 ; + END + END w_mask_in[37] + PIN w_mask_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.528 0.024 12.552 ; + END + END w_mask_in[38] + PIN w_mask_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.672 0.024 12.696 ; + END + END w_mask_in[39] + PIN w_mask_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.816 0.024 12.840 ; + END + END w_mask_in[40] + PIN w_mask_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.960 0.024 12.984 ; + END + END w_mask_in[41] + PIN w_mask_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.104 0.024 13.128 ; + END + END w_mask_in[42] + PIN w_mask_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.248 0.024 13.272 ; + END + END w_mask_in[43] + PIN w_mask_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.392 0.024 13.416 ; + END + END w_mask_in[44] + PIN w_mask_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.536 0.024 13.560 ; + END + END w_mask_in[45] + PIN w_mask_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.680 0.024 13.704 ; + END + END w_mask_in[46] + PIN w_mask_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.824 0.024 13.848 ; + END + END w_mask_in[47] + PIN addr_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.968 0.024 13.992 ; + END + END addr_in[0] + PIN addr_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.112 0.024 14.136 ; + END + END addr_in[1] + PIN addr_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.256 0.024 14.280 ; + END + END addr_in[2] + PIN addr_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.400 0.024 14.424 ; + END + END addr_in[3] + PIN addr_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.544 0.024 14.568 ; + END + END addr_in[4] + PIN rd_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.688 0.024 14.712 ; + END + END rd_out[0] + PIN rd_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.832 0.024 14.856 ; + END + END rd_out[1] + PIN rd_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.976 0.024 15.000 ; + END + END rd_out[2] + PIN rd_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.120 0.024 15.144 ; + END + END rd_out[3] + PIN rd_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.264 0.024 15.288 ; + END + END rd_out[4] + PIN rd_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.408 0.024 15.432 ; + END + END rd_out[5] + PIN rd_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.552 0.024 15.576 ; + END + END rd_out[6] + PIN rd_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.696 0.024 15.720 ; + END + END rd_out[7] + PIN rd_out[8] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.840 0.024 15.864 ; + END + END rd_out[8] + PIN rd_out[9] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.984 0.024 16.008 ; + END + END rd_out[9] + PIN rd_out[10] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.128 0.024 16.152 ; + END + END rd_out[10] + PIN rd_out[11] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.272 0.024 16.296 ; + END + END rd_out[11] + PIN rd_out[12] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.416 0.024 16.440 ; + END + END rd_out[12] + PIN rd_out[13] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.560 0.024 16.584 ; + END + END rd_out[13] + PIN rd_out[14] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.704 0.024 16.728 ; + END + END rd_out[14] + PIN rd_out[15] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.848 0.024 16.872 ; + END + END rd_out[15] + PIN rd_out[16] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.992 0.024 17.016 ; + END + END rd_out[16] + PIN rd_out[17] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.136 0.024 17.160 ; + END + END rd_out[17] + PIN rd_out[18] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.280 0.024 17.304 ; + END + END rd_out[18] + PIN rd_out[19] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.424 0.024 17.448 ; + END + END rd_out[19] + PIN rd_out[20] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.568 0.024 17.592 ; + END + END rd_out[20] + PIN rd_out[21] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.712 0.024 17.736 ; + END + END rd_out[21] + PIN rd_out[22] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.856 0.024 17.880 ; + END + END rd_out[22] + PIN rd_out[23] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.000 0.024 18.024 ; + END + END rd_out[23] + PIN rd_out[24] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.144 0.024 18.168 ; + END + END rd_out[24] + PIN rd_out[25] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.288 0.024 18.312 ; + END + END rd_out[25] + PIN rd_out[26] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.432 0.024 18.456 ; + END + END rd_out[26] + PIN rd_out[27] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.576 0.024 18.600 ; + END + END rd_out[27] + PIN rd_out[28] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.720 0.024 18.744 ; + END + END rd_out[28] + PIN rd_out[29] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.864 0.024 18.888 ; + END + END rd_out[29] + PIN rd_out[30] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.008 0.024 19.032 ; + END + END rd_out[30] + PIN rd_out[31] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.152 0.024 19.176 ; + END + END rd_out[31] + PIN rd_out[32] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.296 0.024 19.320 ; + END + END rd_out[32] + PIN rd_out[33] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.440 0.024 19.464 ; + END + END rd_out[33] + PIN rd_out[34] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.584 0.024 19.608 ; + END + END rd_out[34] + PIN rd_out[35] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.728 0.024 19.752 ; + END + END rd_out[35] + PIN rd_out[36] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.872 0.024 19.896 ; + END + END rd_out[36] + PIN rd_out[37] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.016 0.024 20.040 ; + END + END rd_out[37] + PIN rd_out[38] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.160 0.024 20.184 ; + END + END rd_out[38] + PIN rd_out[39] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.304 0.024 20.328 ; + END + END rd_out[39] + PIN rd_out[40] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.448 0.024 20.472 ; + END + END rd_out[40] + PIN rd_out[41] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.592 0.024 20.616 ; + END + END rd_out[41] + PIN rd_out[42] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.736 0.024 20.760 ; + END + END rd_out[42] + PIN rd_out[43] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.880 0.024 20.904 ; + END + END rd_out[43] + PIN rd_out[44] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.024 0.024 21.048 ; + END + END rd_out[44] + PIN rd_out[45] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.168 0.024 21.192 ; + END + END rd_out[45] + PIN rd_out[46] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.312 0.024 21.336 ; + END + END rd_out[46] + PIN rd_out[47] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.456 0.024 21.480 ; + END + END rd_out[47] + PIN clk + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.600 0.024 21.624 ; + END + END clk + PIN ce_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.744 0.024 21.768 ; + END + END ce_in + PIN we_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.888 0.024 21.912 ; + END + END we_in + OBS + LAYER M1 ; + RECT 0.000 0.000 39.204 22.680 ; + LAYER M2 ; + RECT 0.000 0.000 39.204 22.680 ; + LAYER M3 ; + RECT 0.000 0.000 39.204 22.680 ; + END +END fakeram_32x48_1rw +END LIBRARY diff --git a/designs/asap7/bp_processor/sram/lef/fakeram_32x66_1rw.lef b/designs/asap7/bp_processor/sram/lef/fakeram_32x66_1rw.lef new file mode 100644 index 0000000..9b0b74d --- /dev/null +++ b/designs/asap7/bp_processor/sram/lef/fakeram_32x66_1rw.lef @@ -0,0 +1,1871 @@ +VERSION 5.7 ; +BUSBITCHARS "[]" ; +MACRO fakeram_32x66_1rw + FOREIGN fakeram_32x66_1rw 0 0 ; + SYMMETRY X Y R90 ; + SIZE 46.008 BY 30.240 ; + CLASS BLOCK ; + PIN wd_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.144 0.024 0.168 ; + END + END wd_in[0] + PIN wd_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.288 0.024 0.312 ; + END + END wd_in[1] + PIN wd_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.432 0.024 0.456 ; + END + END wd_in[2] + PIN wd_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.576 0.024 0.600 ; + END + END wd_in[3] + PIN wd_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.720 0.024 0.744 ; + END + END wd_in[4] + PIN wd_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.864 0.024 0.888 ; + END + END wd_in[5] + PIN wd_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.008 0.024 1.032 ; + END + END wd_in[6] + PIN wd_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.152 0.024 1.176 ; + END + END wd_in[7] + PIN wd_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.296 0.024 1.320 ; + END + END wd_in[8] + PIN wd_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.440 0.024 1.464 ; + END + END wd_in[9] + PIN wd_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.584 0.024 1.608 ; + END + END wd_in[10] + PIN wd_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.728 0.024 1.752 ; + END + END wd_in[11] + PIN wd_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.872 0.024 1.896 ; + END + END wd_in[12] + PIN wd_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.016 0.024 2.040 ; + END + END wd_in[13] + PIN wd_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.160 0.024 2.184 ; + END + END wd_in[14] + PIN wd_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.304 0.024 2.328 ; + END + END wd_in[15] + PIN wd_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.448 0.024 2.472 ; + END + END wd_in[16] + PIN wd_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.592 0.024 2.616 ; + END + END wd_in[17] + PIN wd_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.736 0.024 2.760 ; + END + END wd_in[18] + PIN wd_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.880 0.024 2.904 ; + END + END wd_in[19] + PIN wd_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.024 0.024 3.048 ; + END + END wd_in[20] + PIN wd_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.168 0.024 3.192 ; + END + END wd_in[21] + PIN wd_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.312 0.024 3.336 ; + END + END wd_in[22] + PIN wd_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.456 0.024 3.480 ; + END + END wd_in[23] + PIN wd_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.600 0.024 3.624 ; + END + END wd_in[24] + PIN wd_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.744 0.024 3.768 ; + END + END wd_in[25] + PIN wd_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.888 0.024 3.912 ; + END + END wd_in[26] + PIN wd_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.032 0.024 4.056 ; + END + END wd_in[27] + PIN wd_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.176 0.024 4.200 ; + END + END wd_in[28] + PIN wd_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.320 0.024 4.344 ; + END + END wd_in[29] + PIN wd_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.464 0.024 4.488 ; + END + END wd_in[30] + PIN wd_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.608 0.024 4.632 ; + END + END wd_in[31] + PIN wd_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.752 0.024 4.776 ; + END + END wd_in[32] + PIN wd_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.896 0.024 4.920 ; + END + END wd_in[33] + PIN wd_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.040 0.024 5.064 ; + END + END wd_in[34] + PIN wd_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.184 0.024 5.208 ; + END + END wd_in[35] + PIN wd_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.328 0.024 5.352 ; + END + END wd_in[36] + PIN wd_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.472 0.024 5.496 ; + END + END wd_in[37] + PIN wd_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.616 0.024 5.640 ; + END + END wd_in[38] + PIN wd_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.760 0.024 5.784 ; + END + END wd_in[39] + PIN wd_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.904 0.024 5.928 ; + END + END wd_in[40] + PIN wd_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.048 0.024 6.072 ; + END + END wd_in[41] + PIN wd_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.192 0.024 6.216 ; + END + END wd_in[42] + PIN wd_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.336 0.024 6.360 ; + END + END wd_in[43] + PIN wd_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.480 0.024 6.504 ; + END + END wd_in[44] + PIN wd_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.624 0.024 6.648 ; + END + END wd_in[45] + PIN wd_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.768 0.024 6.792 ; + END + END wd_in[46] + PIN wd_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.912 0.024 6.936 ; + END + END wd_in[47] + PIN wd_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.056 0.024 7.080 ; + END + END wd_in[48] + PIN wd_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.200 0.024 7.224 ; + END + END wd_in[49] + PIN wd_in[50] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.344 0.024 7.368 ; + END + END wd_in[50] + PIN wd_in[51] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.488 0.024 7.512 ; + END + END wd_in[51] + PIN wd_in[52] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.632 0.024 7.656 ; + END + END wd_in[52] + PIN wd_in[53] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.776 0.024 7.800 ; + END + END wd_in[53] + PIN wd_in[54] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.920 0.024 7.944 ; + END + END wd_in[54] + PIN wd_in[55] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.064 0.024 8.088 ; + END + END wd_in[55] + PIN wd_in[56] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.208 0.024 8.232 ; + END + END wd_in[56] + PIN wd_in[57] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.352 0.024 8.376 ; + END + END wd_in[57] + PIN wd_in[58] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.496 0.024 8.520 ; + END + END wd_in[58] + PIN wd_in[59] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.640 0.024 8.664 ; + END + END wd_in[59] + PIN wd_in[60] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.784 0.024 8.808 ; + END + END wd_in[60] + PIN wd_in[61] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.928 0.024 8.952 ; + END + END wd_in[61] + PIN wd_in[62] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.072 0.024 9.096 ; + END + END wd_in[62] + PIN wd_in[63] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.216 0.024 9.240 ; + END + END wd_in[63] + PIN wd_in[64] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.360 0.024 9.384 ; + END + END wd_in[64] + PIN wd_in[65] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.504 0.024 9.528 ; + END + END wd_in[65] + PIN w_mask_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.648 0.024 9.672 ; + END + END w_mask_in[0] + PIN w_mask_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.792 0.024 9.816 ; + END + END w_mask_in[1] + PIN w_mask_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.936 0.024 9.960 ; + END + END w_mask_in[2] + PIN w_mask_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.080 0.024 10.104 ; + END + END w_mask_in[3] + PIN w_mask_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.224 0.024 10.248 ; + END + END w_mask_in[4] + PIN w_mask_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.368 0.024 10.392 ; + END + END w_mask_in[5] + PIN w_mask_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.512 0.024 10.536 ; + END + END w_mask_in[6] + PIN w_mask_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.656 0.024 10.680 ; + END + END w_mask_in[7] + PIN w_mask_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.800 0.024 10.824 ; + END + END w_mask_in[8] + PIN w_mask_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.944 0.024 10.968 ; + END + END w_mask_in[9] + PIN w_mask_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.088 0.024 11.112 ; + END + END w_mask_in[10] + PIN w_mask_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.232 0.024 11.256 ; + END + END w_mask_in[11] + PIN w_mask_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.376 0.024 11.400 ; + END + END w_mask_in[12] + PIN w_mask_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.520 0.024 11.544 ; + END + END w_mask_in[13] + PIN w_mask_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.664 0.024 11.688 ; + END + END w_mask_in[14] + PIN w_mask_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.808 0.024 11.832 ; + END + END w_mask_in[15] + PIN w_mask_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.952 0.024 11.976 ; + END + END w_mask_in[16] + PIN w_mask_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.096 0.024 12.120 ; + END + END w_mask_in[17] + PIN w_mask_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.240 0.024 12.264 ; + END + END w_mask_in[18] + PIN w_mask_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.384 0.024 12.408 ; + END + END w_mask_in[19] + PIN w_mask_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.528 0.024 12.552 ; + END + END w_mask_in[20] + PIN w_mask_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.672 0.024 12.696 ; + END + END w_mask_in[21] + PIN w_mask_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.816 0.024 12.840 ; + END + END w_mask_in[22] + PIN w_mask_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.960 0.024 12.984 ; + END + END w_mask_in[23] + PIN w_mask_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.104 0.024 13.128 ; + END + END w_mask_in[24] + PIN w_mask_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.248 0.024 13.272 ; + END + END w_mask_in[25] + PIN w_mask_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.392 0.024 13.416 ; + END + END w_mask_in[26] + PIN w_mask_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.536 0.024 13.560 ; + END + END w_mask_in[27] + PIN w_mask_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.680 0.024 13.704 ; + END + END w_mask_in[28] + PIN w_mask_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.824 0.024 13.848 ; + END + END w_mask_in[29] + PIN w_mask_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.968 0.024 13.992 ; + END + END w_mask_in[30] + PIN w_mask_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.112 0.024 14.136 ; + END + END w_mask_in[31] + PIN w_mask_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.256 0.024 14.280 ; + END + END w_mask_in[32] + PIN w_mask_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.400 0.024 14.424 ; + END + END w_mask_in[33] + PIN w_mask_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.544 0.024 14.568 ; + END + END w_mask_in[34] + PIN w_mask_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.688 0.024 14.712 ; + END + END w_mask_in[35] + PIN w_mask_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.832 0.024 14.856 ; + END + END w_mask_in[36] + PIN w_mask_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.976 0.024 15.000 ; + END + END w_mask_in[37] + PIN w_mask_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.120 0.024 15.144 ; + END + END w_mask_in[38] + PIN w_mask_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.264 0.024 15.288 ; + END + END w_mask_in[39] + PIN w_mask_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.408 0.024 15.432 ; + END + END w_mask_in[40] + PIN w_mask_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.552 0.024 15.576 ; + END + END w_mask_in[41] + PIN w_mask_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.696 0.024 15.720 ; + END + END w_mask_in[42] + PIN w_mask_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.840 0.024 15.864 ; + END + END w_mask_in[43] + PIN w_mask_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.984 0.024 16.008 ; + END + END w_mask_in[44] + PIN w_mask_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.128 0.024 16.152 ; + END + END w_mask_in[45] + PIN w_mask_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.272 0.024 16.296 ; + END + END w_mask_in[46] + PIN w_mask_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.416 0.024 16.440 ; + END + END w_mask_in[47] + PIN w_mask_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.560 0.024 16.584 ; + END + END w_mask_in[48] + PIN w_mask_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.704 0.024 16.728 ; + END + END w_mask_in[49] + PIN w_mask_in[50] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.848 0.024 16.872 ; + END + END w_mask_in[50] + PIN w_mask_in[51] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.992 0.024 17.016 ; + END + END w_mask_in[51] + PIN w_mask_in[52] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.136 0.024 17.160 ; + END + END w_mask_in[52] + PIN w_mask_in[53] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.280 0.024 17.304 ; + END + END w_mask_in[53] + PIN w_mask_in[54] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.424 0.024 17.448 ; + END + END w_mask_in[54] + PIN w_mask_in[55] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.568 0.024 17.592 ; + END + END w_mask_in[55] + PIN w_mask_in[56] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.712 0.024 17.736 ; + END + END w_mask_in[56] + PIN w_mask_in[57] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.856 0.024 17.880 ; + END + END w_mask_in[57] + PIN w_mask_in[58] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.000 0.024 18.024 ; + END + END w_mask_in[58] + PIN w_mask_in[59] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.144 0.024 18.168 ; + END + END w_mask_in[59] + PIN w_mask_in[60] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.288 0.024 18.312 ; + END + END w_mask_in[60] + PIN w_mask_in[61] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.432 0.024 18.456 ; + END + END w_mask_in[61] + PIN w_mask_in[62] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.576 0.024 18.600 ; + END + END w_mask_in[62] + PIN w_mask_in[63] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.720 0.024 18.744 ; + END + END w_mask_in[63] + PIN w_mask_in[64] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.864 0.024 18.888 ; + END + END w_mask_in[64] + PIN w_mask_in[65] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.008 0.024 19.032 ; + END + END w_mask_in[65] + PIN addr_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.152 0.024 19.176 ; + END + END addr_in[0] + PIN addr_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.296 0.024 19.320 ; + END + END addr_in[1] + PIN addr_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.440 0.024 19.464 ; + END + END addr_in[2] + PIN addr_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.584 0.024 19.608 ; + END + END addr_in[3] + PIN addr_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.728 0.024 19.752 ; + END + END addr_in[4] + PIN rd_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.872 0.024 19.896 ; + END + END rd_out[0] + PIN rd_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.016 0.024 20.040 ; + END + END rd_out[1] + PIN rd_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.160 0.024 20.184 ; + END + END rd_out[2] + PIN rd_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.304 0.024 20.328 ; + END + END rd_out[3] + PIN rd_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.448 0.024 20.472 ; + END + END rd_out[4] + PIN rd_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.592 0.024 20.616 ; + END + END rd_out[5] + PIN rd_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.736 0.024 20.760 ; + END + END rd_out[6] + PIN rd_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.880 0.024 20.904 ; + END + END rd_out[7] + PIN rd_out[8] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.024 0.024 21.048 ; + END + END rd_out[8] + PIN rd_out[9] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.168 0.024 21.192 ; + END + END rd_out[9] + PIN rd_out[10] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.312 0.024 21.336 ; + END + END rd_out[10] + PIN rd_out[11] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.456 0.024 21.480 ; + END + END rd_out[11] + PIN rd_out[12] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.600 0.024 21.624 ; + END + END rd_out[12] + PIN rd_out[13] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.744 0.024 21.768 ; + END + END rd_out[13] + PIN rd_out[14] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.888 0.024 21.912 ; + END + END rd_out[14] + PIN rd_out[15] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.032 0.024 22.056 ; + END + END rd_out[15] + PIN rd_out[16] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.176 0.024 22.200 ; + END + END rd_out[16] + PIN rd_out[17] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.320 0.024 22.344 ; + END + END rd_out[17] + PIN rd_out[18] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.464 0.024 22.488 ; + END + END rd_out[18] + PIN rd_out[19] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.608 0.024 22.632 ; + END + END rd_out[19] + PIN rd_out[20] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.752 0.024 22.776 ; + END + END rd_out[20] + PIN rd_out[21] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.896 0.024 22.920 ; + END + END rd_out[21] + PIN rd_out[22] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.040 0.024 23.064 ; + END + END rd_out[22] + PIN rd_out[23] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.184 0.024 23.208 ; + END + END rd_out[23] + PIN rd_out[24] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.328 0.024 23.352 ; + END + END rd_out[24] + PIN rd_out[25] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.472 0.024 23.496 ; + END + END rd_out[25] + PIN rd_out[26] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.616 0.024 23.640 ; + END + END rd_out[26] + PIN rd_out[27] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.760 0.024 23.784 ; + END + END rd_out[27] + PIN rd_out[28] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.904 0.024 23.928 ; + END + END rd_out[28] + PIN rd_out[29] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.048 0.024 24.072 ; + END + END rd_out[29] + PIN rd_out[30] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.192 0.024 24.216 ; + END + END rd_out[30] + PIN rd_out[31] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.336 0.024 24.360 ; + END + END rd_out[31] + PIN rd_out[32] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.480 0.024 24.504 ; + END + END rd_out[32] + PIN rd_out[33] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.624 0.024 24.648 ; + END + END rd_out[33] + PIN rd_out[34] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.768 0.024 24.792 ; + END + END rd_out[34] + PIN rd_out[35] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.912 0.024 24.936 ; + END + END rd_out[35] + PIN rd_out[36] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.056 0.024 25.080 ; + END + END rd_out[36] + PIN rd_out[37] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.200 0.024 25.224 ; + END + END rd_out[37] + PIN rd_out[38] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.344 0.024 25.368 ; + END + END rd_out[38] + PIN rd_out[39] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.488 0.024 25.512 ; + END + END rd_out[39] + PIN rd_out[40] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.632 0.024 25.656 ; + END + END rd_out[40] + PIN rd_out[41] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.776 0.024 25.800 ; + END + END rd_out[41] + PIN rd_out[42] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.920 0.024 25.944 ; + END + END rd_out[42] + PIN rd_out[43] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.064 0.024 26.088 ; + END + END rd_out[43] + PIN rd_out[44] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.208 0.024 26.232 ; + END + END rd_out[44] + PIN rd_out[45] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.352 0.024 26.376 ; + END + END rd_out[45] + PIN rd_out[46] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.496 0.024 26.520 ; + END + END rd_out[46] + PIN rd_out[47] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.640 0.024 26.664 ; + END + END rd_out[47] + PIN rd_out[48] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.784 0.024 26.808 ; + END + END rd_out[48] + PIN rd_out[49] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.928 0.024 26.952 ; + END + END rd_out[49] + PIN rd_out[50] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.072 0.024 27.096 ; + END + END rd_out[50] + PIN rd_out[51] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.216 0.024 27.240 ; + END + END rd_out[51] + PIN rd_out[52] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.360 0.024 27.384 ; + END + END rd_out[52] + PIN rd_out[53] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.504 0.024 27.528 ; + END + END rd_out[53] + PIN rd_out[54] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.648 0.024 27.672 ; + END + END rd_out[54] + PIN rd_out[55] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.792 0.024 27.816 ; + END + END rd_out[55] + PIN rd_out[56] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.936 0.024 27.960 ; + END + END rd_out[56] + PIN rd_out[57] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.080 0.024 28.104 ; + END + END rd_out[57] + PIN rd_out[58] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.224 0.024 28.248 ; + END + END rd_out[58] + PIN rd_out[59] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.368 0.024 28.392 ; + END + END rd_out[59] + PIN rd_out[60] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.512 0.024 28.536 ; + END + END rd_out[60] + PIN rd_out[61] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.656 0.024 28.680 ; + END + END rd_out[61] + PIN rd_out[62] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.800 0.024 28.824 ; + END + END rd_out[62] + PIN rd_out[63] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.944 0.024 28.968 ; + END + END rd_out[63] + PIN rd_out[64] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.088 0.024 29.112 ; + END + END rd_out[64] + PIN rd_out[65] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.232 0.024 29.256 ; + END + END rd_out[65] + PIN clk + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.376 0.024 29.400 ; + END + END clk + PIN ce_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.520 0.024 29.544 ; + END + END ce_in + PIN we_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.664 0.024 29.688 ; + END + END we_in + OBS + LAYER M1 ; + RECT 0.000 0.000 46.008 30.240 ; + LAYER M2 ; + RECT 0.000 0.000 46.008 30.240 ; + LAYER M3 ; + RECT 0.000 0.000 46.008 30.240 ; + END +END fakeram_32x66_1rw +END LIBRARY diff --git a/designs/asap7/bp_processor/sram/lef/fakeram_512x64_1rw.lef b/designs/asap7/bp_processor/sram/lef/fakeram_512x64_1rw.lef new file mode 100644 index 0000000..7635b99 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lef/fakeram_512x64_1rw.lef @@ -0,0 +1,1853 @@ +VERSION 5.7 ; +BUSBITCHARS "[]" ; +MACRO fakeram_512x64_1rw + FOREIGN fakeram_512x64_1rw 0 0 ; + SYMMETRY X Y R90 ; + SIZE 181.062 BY 90.720 ; + CLASS BLOCK ; + PIN wd_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.144 0.024 0.168 ; + END + END wd_in[0] + PIN wd_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.288 0.024 0.312 ; + END + END wd_in[1] + PIN wd_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.432 0.024 0.456 ; + END + END wd_in[2] + PIN wd_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.576 0.024 0.600 ; + END + END wd_in[3] + PIN wd_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.720 0.024 0.744 ; + END + END wd_in[4] + PIN wd_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.864 0.024 0.888 ; + END + END wd_in[5] + PIN wd_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.008 0.024 1.032 ; + END + END wd_in[6] + PIN wd_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.152 0.024 1.176 ; + END + END wd_in[7] + PIN wd_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.296 0.024 1.320 ; + END + END wd_in[8] + PIN wd_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.440 0.024 1.464 ; + END + END wd_in[9] + PIN wd_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.584 0.024 1.608 ; + END + END wd_in[10] + PIN wd_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.728 0.024 1.752 ; + END + END wd_in[11] + PIN wd_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.872 0.024 1.896 ; + END + END wd_in[12] + PIN wd_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.016 0.024 2.040 ; + END + END wd_in[13] + PIN wd_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.160 0.024 2.184 ; + END + END wd_in[14] + PIN wd_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.304 0.024 2.328 ; + END + END wd_in[15] + PIN wd_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.448 0.024 2.472 ; + END + END wd_in[16] + PIN wd_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.592 0.024 2.616 ; + END + END wd_in[17] + PIN wd_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.736 0.024 2.760 ; + END + END wd_in[18] + PIN wd_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.880 0.024 2.904 ; + END + END wd_in[19] + PIN wd_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.024 0.024 3.048 ; + END + END wd_in[20] + PIN wd_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.168 0.024 3.192 ; + END + END wd_in[21] + PIN wd_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.312 0.024 3.336 ; + END + END wd_in[22] + PIN wd_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.456 0.024 3.480 ; + END + END wd_in[23] + PIN wd_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.600 0.024 3.624 ; + END + END wd_in[24] + PIN wd_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.744 0.024 3.768 ; + END + END wd_in[25] + PIN wd_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.888 0.024 3.912 ; + END + END wd_in[26] + PIN wd_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.032 0.024 4.056 ; + END + END wd_in[27] + PIN wd_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.176 0.024 4.200 ; + END + END wd_in[28] + PIN wd_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.320 0.024 4.344 ; + END + END wd_in[29] + PIN wd_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.464 0.024 4.488 ; + END + END wd_in[30] + PIN wd_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.608 0.024 4.632 ; + END + END wd_in[31] + PIN wd_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.752 0.024 4.776 ; + END + END wd_in[32] + PIN wd_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.896 0.024 4.920 ; + END + END wd_in[33] + PIN wd_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.040 0.024 5.064 ; + END + END wd_in[34] + PIN wd_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.184 0.024 5.208 ; + END + END wd_in[35] + PIN wd_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.328 0.024 5.352 ; + END + END wd_in[36] + PIN wd_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.472 0.024 5.496 ; + END + END wd_in[37] + PIN wd_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.616 0.024 5.640 ; + END + END wd_in[38] + PIN wd_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.760 0.024 5.784 ; + END + END wd_in[39] + PIN wd_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.904 0.024 5.928 ; + END + END wd_in[40] + PIN wd_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.048 0.024 6.072 ; + END + END wd_in[41] + PIN wd_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.192 0.024 6.216 ; + END + END wd_in[42] + PIN wd_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.336 0.024 6.360 ; + END + END wd_in[43] + PIN wd_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.480 0.024 6.504 ; + END + END wd_in[44] + PIN wd_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.624 0.024 6.648 ; + END + END wd_in[45] + PIN wd_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.768 0.024 6.792 ; + END + END wd_in[46] + PIN wd_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.912 0.024 6.936 ; + END + END wd_in[47] + PIN wd_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.056 0.024 7.080 ; + END + END wd_in[48] + PIN wd_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.200 0.024 7.224 ; + END + END wd_in[49] + PIN wd_in[50] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.344 0.024 7.368 ; + END + END wd_in[50] + PIN wd_in[51] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.488 0.024 7.512 ; + END + END wd_in[51] + PIN wd_in[52] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.632 0.024 7.656 ; + END + END wd_in[52] + PIN wd_in[53] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.776 0.024 7.800 ; + END + END wd_in[53] + PIN wd_in[54] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.920 0.024 7.944 ; + END + END wd_in[54] + PIN wd_in[55] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.064 0.024 8.088 ; + END + END wd_in[55] + PIN wd_in[56] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.208 0.024 8.232 ; + END + END wd_in[56] + PIN wd_in[57] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.352 0.024 8.376 ; + END + END wd_in[57] + PIN wd_in[58] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.496 0.024 8.520 ; + END + END wd_in[58] + PIN wd_in[59] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.640 0.024 8.664 ; + END + END wd_in[59] + PIN wd_in[60] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.784 0.024 8.808 ; + END + END wd_in[60] + PIN wd_in[61] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.928 0.024 8.952 ; + END + END wd_in[61] + PIN wd_in[62] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.072 0.024 9.096 ; + END + END wd_in[62] + PIN wd_in[63] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.216 0.024 9.240 ; + END + END wd_in[63] + PIN w_mask_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.360 0.024 9.384 ; + END + END w_mask_in[0] + PIN w_mask_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.504 0.024 9.528 ; + END + END w_mask_in[1] + PIN w_mask_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.648 0.024 9.672 ; + END + END w_mask_in[2] + PIN w_mask_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.792 0.024 9.816 ; + END + END w_mask_in[3] + PIN w_mask_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.936 0.024 9.960 ; + END + END w_mask_in[4] + PIN w_mask_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.080 0.024 10.104 ; + END + END w_mask_in[5] + PIN w_mask_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.224 0.024 10.248 ; + END + END w_mask_in[6] + PIN w_mask_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.368 0.024 10.392 ; + END + END w_mask_in[7] + PIN w_mask_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.512 0.024 10.536 ; + END + END w_mask_in[8] + PIN w_mask_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.656 0.024 10.680 ; + END + END w_mask_in[9] + PIN w_mask_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.800 0.024 10.824 ; + END + END w_mask_in[10] + PIN w_mask_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.944 0.024 10.968 ; + END + END w_mask_in[11] + PIN w_mask_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.088 0.024 11.112 ; + END + END w_mask_in[12] + PIN w_mask_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.232 0.024 11.256 ; + END + END w_mask_in[13] + PIN w_mask_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.376 0.024 11.400 ; + END + END w_mask_in[14] + PIN w_mask_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.520 0.024 11.544 ; + END + END w_mask_in[15] + PIN w_mask_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.664 0.024 11.688 ; + END + END w_mask_in[16] + PIN w_mask_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.808 0.024 11.832 ; + END + END w_mask_in[17] + PIN w_mask_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.952 0.024 11.976 ; + END + END w_mask_in[18] + PIN w_mask_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.096 0.024 12.120 ; + END + END w_mask_in[19] + PIN w_mask_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.240 0.024 12.264 ; + END + END w_mask_in[20] + PIN w_mask_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.384 0.024 12.408 ; + END + END w_mask_in[21] + PIN w_mask_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.528 0.024 12.552 ; + END + END w_mask_in[22] + PIN w_mask_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.672 0.024 12.696 ; + END + END w_mask_in[23] + PIN w_mask_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.816 0.024 12.840 ; + END + END w_mask_in[24] + PIN w_mask_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.960 0.024 12.984 ; + END + END w_mask_in[25] + PIN w_mask_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.104 0.024 13.128 ; + END + END w_mask_in[26] + PIN w_mask_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.248 0.024 13.272 ; + END + END w_mask_in[27] + PIN w_mask_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.392 0.024 13.416 ; + END + END w_mask_in[28] + PIN w_mask_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.536 0.024 13.560 ; + END + END w_mask_in[29] + PIN w_mask_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.680 0.024 13.704 ; + END + END w_mask_in[30] + PIN w_mask_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.824 0.024 13.848 ; + END + END w_mask_in[31] + PIN w_mask_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.968 0.024 13.992 ; + END + END w_mask_in[32] + PIN w_mask_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.112 0.024 14.136 ; + END + END w_mask_in[33] + PIN w_mask_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.256 0.024 14.280 ; + END + END w_mask_in[34] + PIN w_mask_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.400 0.024 14.424 ; + END + END w_mask_in[35] + PIN w_mask_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.544 0.024 14.568 ; + END + END w_mask_in[36] + PIN w_mask_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.688 0.024 14.712 ; + END + END w_mask_in[37] + PIN w_mask_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.832 0.024 14.856 ; + END + END w_mask_in[38] + PIN w_mask_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.976 0.024 15.000 ; + END + END w_mask_in[39] + PIN w_mask_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.120 0.024 15.144 ; + END + END w_mask_in[40] + PIN w_mask_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.264 0.024 15.288 ; + END + END w_mask_in[41] + PIN w_mask_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.408 0.024 15.432 ; + END + END w_mask_in[42] + PIN w_mask_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.552 0.024 15.576 ; + END + END w_mask_in[43] + PIN w_mask_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.696 0.024 15.720 ; + END + END w_mask_in[44] + PIN w_mask_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.840 0.024 15.864 ; + END + END w_mask_in[45] + PIN w_mask_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.984 0.024 16.008 ; + END + END w_mask_in[46] + PIN w_mask_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.128 0.024 16.152 ; + END + END w_mask_in[47] + PIN w_mask_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.272 0.024 16.296 ; + END + END w_mask_in[48] + PIN w_mask_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.416 0.024 16.440 ; + END + END w_mask_in[49] + PIN w_mask_in[50] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.560 0.024 16.584 ; + END + END w_mask_in[50] + PIN w_mask_in[51] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.704 0.024 16.728 ; + END + END w_mask_in[51] + PIN w_mask_in[52] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.848 0.024 16.872 ; + END + END w_mask_in[52] + PIN w_mask_in[53] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.992 0.024 17.016 ; + END + END w_mask_in[53] + PIN w_mask_in[54] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.136 0.024 17.160 ; + END + END w_mask_in[54] + PIN w_mask_in[55] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.280 0.024 17.304 ; + END + END w_mask_in[55] + PIN w_mask_in[56] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.424 0.024 17.448 ; + END + END w_mask_in[56] + PIN w_mask_in[57] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.568 0.024 17.592 ; + END + END w_mask_in[57] + PIN w_mask_in[58] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.712 0.024 17.736 ; + END + END w_mask_in[58] + PIN w_mask_in[59] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.856 0.024 17.880 ; + END + END w_mask_in[59] + PIN w_mask_in[60] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.000 0.024 18.024 ; + END + END w_mask_in[60] + PIN w_mask_in[61] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.144 0.024 18.168 ; + END + END w_mask_in[61] + PIN w_mask_in[62] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.288 0.024 18.312 ; + END + END w_mask_in[62] + PIN w_mask_in[63] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.432 0.024 18.456 ; + END + END w_mask_in[63] + PIN addr_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.576 0.024 18.600 ; + END + END addr_in[0] + PIN addr_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.720 0.024 18.744 ; + END + END addr_in[1] + PIN addr_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.864 0.024 18.888 ; + END + END addr_in[2] + PIN addr_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.008 0.024 19.032 ; + END + END addr_in[3] + PIN addr_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.152 0.024 19.176 ; + END + END addr_in[4] + PIN addr_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.296 0.024 19.320 ; + END + END addr_in[5] + PIN addr_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.440 0.024 19.464 ; + END + END addr_in[6] + PIN addr_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.584 0.024 19.608 ; + END + END addr_in[7] + PIN addr_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.728 0.024 19.752 ; + END + END addr_in[8] + PIN rd_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.872 0.024 19.896 ; + END + END rd_out[0] + PIN rd_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.016 0.024 20.040 ; + END + END rd_out[1] + PIN rd_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.160 0.024 20.184 ; + END + END rd_out[2] + PIN rd_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.304 0.024 20.328 ; + END + END rd_out[3] + PIN rd_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.448 0.024 20.472 ; + END + END rd_out[4] + PIN rd_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.592 0.024 20.616 ; + END + END rd_out[5] + PIN rd_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.736 0.024 20.760 ; + END + END rd_out[6] + PIN rd_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.880 0.024 20.904 ; + END + END rd_out[7] + PIN rd_out[8] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.024 0.024 21.048 ; + END + END rd_out[8] + PIN rd_out[9] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.168 0.024 21.192 ; + END + END rd_out[9] + PIN rd_out[10] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.312 0.024 21.336 ; + END + END rd_out[10] + PIN rd_out[11] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.456 0.024 21.480 ; + END + END rd_out[11] + PIN rd_out[12] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.600 0.024 21.624 ; + END + END rd_out[12] + PIN rd_out[13] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.744 0.024 21.768 ; + END + END rd_out[13] + PIN rd_out[14] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.888 0.024 21.912 ; + END + END rd_out[14] + PIN rd_out[15] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.032 0.024 22.056 ; + END + END rd_out[15] + PIN rd_out[16] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.176 0.024 22.200 ; + END + END rd_out[16] + PIN rd_out[17] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.320 0.024 22.344 ; + END + END rd_out[17] + PIN rd_out[18] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.464 0.024 22.488 ; + END + END rd_out[18] + PIN rd_out[19] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.608 0.024 22.632 ; + END + END rd_out[19] + PIN rd_out[20] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.752 0.024 22.776 ; + END + END rd_out[20] + PIN rd_out[21] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.896 0.024 22.920 ; + END + END rd_out[21] + PIN rd_out[22] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.040 0.024 23.064 ; + END + END rd_out[22] + PIN rd_out[23] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.184 0.024 23.208 ; + END + END rd_out[23] + PIN rd_out[24] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.328 0.024 23.352 ; + END + END rd_out[24] + PIN rd_out[25] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.472 0.024 23.496 ; + END + END rd_out[25] + PIN rd_out[26] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.616 0.024 23.640 ; + END + END rd_out[26] + PIN rd_out[27] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.760 0.024 23.784 ; + END + END rd_out[27] + PIN rd_out[28] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.904 0.024 23.928 ; + END + END rd_out[28] + PIN rd_out[29] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.048 0.024 24.072 ; + END + END rd_out[29] + PIN rd_out[30] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.192 0.024 24.216 ; + END + END rd_out[30] + PIN rd_out[31] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.336 0.024 24.360 ; + END + END rd_out[31] + PIN rd_out[32] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.480 0.024 24.504 ; + END + END rd_out[32] + PIN rd_out[33] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.624 0.024 24.648 ; + END + END rd_out[33] + PIN rd_out[34] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.768 0.024 24.792 ; + END + END rd_out[34] + PIN rd_out[35] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.912 0.024 24.936 ; + END + END rd_out[35] + PIN rd_out[36] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.056 0.024 25.080 ; + END + END rd_out[36] + PIN rd_out[37] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.200 0.024 25.224 ; + END + END rd_out[37] + PIN rd_out[38] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.344 0.024 25.368 ; + END + END rd_out[38] + PIN rd_out[39] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.488 0.024 25.512 ; + END + END rd_out[39] + PIN rd_out[40] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.632 0.024 25.656 ; + END + END rd_out[40] + PIN rd_out[41] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.776 0.024 25.800 ; + END + END rd_out[41] + PIN rd_out[42] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.920 0.024 25.944 ; + END + END rd_out[42] + PIN rd_out[43] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.064 0.024 26.088 ; + END + END rd_out[43] + PIN rd_out[44] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.208 0.024 26.232 ; + END + END rd_out[44] + PIN rd_out[45] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.352 0.024 26.376 ; + END + END rd_out[45] + PIN rd_out[46] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.496 0.024 26.520 ; + END + END rd_out[46] + PIN rd_out[47] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.640 0.024 26.664 ; + END + END rd_out[47] + PIN rd_out[48] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.784 0.024 26.808 ; + END + END rd_out[48] + PIN rd_out[49] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.928 0.024 26.952 ; + END + END rd_out[49] + PIN rd_out[50] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.072 0.024 27.096 ; + END + END rd_out[50] + PIN rd_out[51] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.216 0.024 27.240 ; + END + END rd_out[51] + PIN rd_out[52] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.360 0.024 27.384 ; + END + END rd_out[52] + PIN rd_out[53] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.504 0.024 27.528 ; + END + END rd_out[53] + PIN rd_out[54] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.648 0.024 27.672 ; + END + END rd_out[54] + PIN rd_out[55] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.792 0.024 27.816 ; + END + END rd_out[55] + PIN rd_out[56] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.936 0.024 27.960 ; + END + END rd_out[56] + PIN rd_out[57] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.080 0.024 28.104 ; + END + END rd_out[57] + PIN rd_out[58] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.224 0.024 28.248 ; + END + END rd_out[58] + PIN rd_out[59] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.368 0.024 28.392 ; + END + END rd_out[59] + PIN rd_out[60] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.512 0.024 28.536 ; + END + END rd_out[60] + PIN rd_out[61] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.656 0.024 28.680 ; + END + END rd_out[61] + PIN rd_out[62] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.800 0.024 28.824 ; + END + END rd_out[62] + PIN rd_out[63] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.944 0.024 28.968 ; + END + END rd_out[63] + PIN clk + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.088 0.024 29.112 ; + END + END clk + PIN ce_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.232 0.024 29.256 ; + END + END ce_in + PIN we_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.376 0.024 29.400 ; + END + END we_in + OBS + LAYER M1 ; + RECT 0.000 0.000 181.062 90.720 ; + LAYER M2 ; + RECT 0.000 0.000 181.062 90.720 ; + LAYER M3 ; + RECT 0.000 0.000 181.062 90.720 ; + END +END fakeram_512x64_1rw +END LIBRARY diff --git a/designs/asap7/bp_processor/sram/lef/fakeram_512x8_1rw.lef b/designs/asap7/bp_processor/sram/lef/fakeram_512x8_1rw.lef new file mode 100644 index 0000000..93caf86 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lef/fakeram_512x8_1rw.lef @@ -0,0 +1,341 @@ +VERSION 5.7 ; +BUSBITCHARS "[]" ; +MACRO fakeram_512x8_1rw + FOREIGN fakeram_512x8_1rw 0 0 ; + SYMMETRY X Y R90 ; + SIZE 64.044 BY 32.130 ; + CLASS BLOCK ; + PIN wd_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.144 0.024 0.168 ; + END + END wd_in[0] + PIN wd_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.288 0.024 0.312 ; + END + END wd_in[1] + PIN wd_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.432 0.024 0.456 ; + END + END wd_in[2] + PIN wd_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.576 0.024 0.600 ; + END + END wd_in[3] + PIN wd_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.720 0.024 0.744 ; + END + END wd_in[4] + PIN wd_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.864 0.024 0.888 ; + END + END wd_in[5] + PIN wd_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.008 0.024 1.032 ; + END + END wd_in[6] + PIN wd_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.152 0.024 1.176 ; + END + END wd_in[7] + PIN w_mask_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.296 0.024 1.320 ; + END + END w_mask_in[0] + PIN w_mask_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.440 0.024 1.464 ; + END + END w_mask_in[1] + PIN w_mask_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.584 0.024 1.608 ; + END + END w_mask_in[2] + PIN w_mask_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.728 0.024 1.752 ; + END + END w_mask_in[3] + PIN w_mask_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.872 0.024 1.896 ; + END + END w_mask_in[4] + PIN w_mask_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.016 0.024 2.040 ; + END + END w_mask_in[5] + PIN w_mask_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.160 0.024 2.184 ; + END + END w_mask_in[6] + PIN w_mask_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.304 0.024 2.328 ; + END + END w_mask_in[7] + PIN addr_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.448 0.024 2.472 ; + END + END addr_in[0] + PIN addr_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.592 0.024 2.616 ; + END + END addr_in[1] + PIN addr_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.736 0.024 2.760 ; + END + END addr_in[2] + PIN addr_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.880 0.024 2.904 ; + END + END addr_in[3] + PIN addr_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.024 0.024 3.048 ; + END + END addr_in[4] + PIN addr_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.168 0.024 3.192 ; + END + END addr_in[5] + PIN addr_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.312 0.024 3.336 ; + END + END addr_in[6] + PIN addr_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.456 0.024 3.480 ; + END + END addr_in[7] + PIN addr_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.600 0.024 3.624 ; + END + END addr_in[8] + PIN rd_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.744 0.024 3.768 ; + END + END rd_out[0] + PIN rd_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.888 0.024 3.912 ; + END + END rd_out[1] + PIN rd_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.032 0.024 4.056 ; + END + END rd_out[2] + PIN rd_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.176 0.024 4.200 ; + END + END rd_out[3] + PIN rd_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.320 0.024 4.344 ; + END + END rd_out[4] + PIN rd_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.464 0.024 4.488 ; + END + END rd_out[5] + PIN rd_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.608 0.024 4.632 ; + END + END rd_out[6] + PIN rd_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.752 0.024 4.776 ; + END + END rd_out[7] + PIN clk + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.896 0.024 4.920 ; + END + END clk + PIN ce_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.040 0.024 5.064 ; + END + END ce_in + PIN we_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.184 0.024 5.208 ; + END + END we_in + OBS + LAYER M1 ; + RECT 0.000 0.000 64.044 32.130 ; + LAYER M2 ; + RECT 0.000 0.000 64.044 32.130 ; + LAYER M3 ; + RECT 0.000 0.000 64.044 32.130 ; + END +END fakeram_512x8_1rw +END LIBRARY diff --git a/designs/asap7/bp_processor/sram/lef/fakeram_64x184_1rw.lef b/designs/asap7/bp_processor/sram/lef/fakeram_64x184_1rw.lef new file mode 100644 index 0000000..d6855ed --- /dev/null +++ b/designs/asap7/bp_processor/sram/lef/fakeram_64x184_1rw.lef @@ -0,0 +1,5066 @@ +VERSION 5.7 ; +BUSBITCHARS "[]" ; +MACRO fakeram_64x184_1rw + FOREIGN fakeram_64x184_1rw 0 0 ; + SYMMETRY X Y R90 ; + SIZE 108.540 BY 81.540 ; + CLASS BLOCK ; + PIN wd_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.144 0.024 0.168 ; + END + END wd_in[0] + PIN wd_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.288 0.024 0.312 ; + END + END wd_in[1] + PIN wd_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.432 0.024 0.456 ; + END + END wd_in[2] + PIN wd_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.576 0.024 0.600 ; + END + END wd_in[3] + PIN wd_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.720 0.024 0.744 ; + END + END wd_in[4] + PIN wd_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.864 0.024 0.888 ; + END + END wd_in[5] + PIN wd_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.008 0.024 1.032 ; + END + END wd_in[6] + PIN wd_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.152 0.024 1.176 ; + END + END wd_in[7] + PIN wd_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.296 0.024 1.320 ; + END + END wd_in[8] + PIN wd_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.440 0.024 1.464 ; + END + END wd_in[9] + PIN wd_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.584 0.024 1.608 ; + END + END wd_in[10] + PIN wd_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.728 0.024 1.752 ; + END + END wd_in[11] + PIN wd_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.872 0.024 1.896 ; + END + END wd_in[12] + PIN wd_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.016 0.024 2.040 ; + END + END wd_in[13] + PIN wd_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.160 0.024 2.184 ; + END + END wd_in[14] + PIN wd_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.304 0.024 2.328 ; + END + END wd_in[15] + PIN wd_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.448 0.024 2.472 ; + END + END wd_in[16] + PIN wd_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.592 0.024 2.616 ; + END + END wd_in[17] + PIN wd_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.736 0.024 2.760 ; + END + END wd_in[18] + PIN wd_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.880 0.024 2.904 ; + END + END wd_in[19] + PIN wd_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.024 0.024 3.048 ; + END + END wd_in[20] + PIN wd_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.168 0.024 3.192 ; + END + END wd_in[21] + PIN wd_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.312 0.024 3.336 ; + END + END wd_in[22] + PIN wd_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.456 0.024 3.480 ; + END + END wd_in[23] + PIN wd_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.600 0.024 3.624 ; + END + END wd_in[24] + PIN wd_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.744 0.024 3.768 ; + END + END wd_in[25] + PIN wd_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.888 0.024 3.912 ; + END + END wd_in[26] + PIN wd_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.032 0.024 4.056 ; + END + END wd_in[27] + PIN wd_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.176 0.024 4.200 ; + END + END wd_in[28] + PIN wd_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.320 0.024 4.344 ; + END + END wd_in[29] + PIN wd_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.464 0.024 4.488 ; + END + END wd_in[30] + PIN wd_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.608 0.024 4.632 ; + END + END wd_in[31] + PIN wd_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.752 0.024 4.776 ; + END + END wd_in[32] + PIN wd_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.896 0.024 4.920 ; + END + END wd_in[33] + PIN wd_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.040 0.024 5.064 ; + END + END wd_in[34] + PIN wd_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.184 0.024 5.208 ; + END + END wd_in[35] + PIN wd_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.328 0.024 5.352 ; + END + END wd_in[36] + PIN wd_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.472 0.024 5.496 ; + END + END wd_in[37] + PIN wd_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.616 0.024 5.640 ; + END + END wd_in[38] + PIN wd_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.760 0.024 5.784 ; + END + END wd_in[39] + PIN wd_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.904 0.024 5.928 ; + END + END wd_in[40] + PIN wd_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.048 0.024 6.072 ; + END + END wd_in[41] + PIN wd_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.192 0.024 6.216 ; + END + END wd_in[42] + PIN wd_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.336 0.024 6.360 ; + END + END wd_in[43] + PIN wd_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.480 0.024 6.504 ; + END + END wd_in[44] + PIN wd_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.624 0.024 6.648 ; + END + END wd_in[45] + PIN wd_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.768 0.024 6.792 ; + END + END wd_in[46] + PIN wd_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.912 0.024 6.936 ; + END + END wd_in[47] + PIN wd_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.056 0.024 7.080 ; + END + END wd_in[48] + PIN wd_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.200 0.024 7.224 ; + END + END wd_in[49] + PIN wd_in[50] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.344 0.024 7.368 ; + END + END wd_in[50] + PIN wd_in[51] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.488 0.024 7.512 ; + END + END wd_in[51] + PIN wd_in[52] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.632 0.024 7.656 ; + END + END wd_in[52] + PIN wd_in[53] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.776 0.024 7.800 ; + END + END wd_in[53] + PIN wd_in[54] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.920 0.024 7.944 ; + END + END wd_in[54] + PIN wd_in[55] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.064 0.024 8.088 ; + END + END wd_in[55] + PIN wd_in[56] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.208 0.024 8.232 ; + END + END wd_in[56] + PIN wd_in[57] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.352 0.024 8.376 ; + END + END wd_in[57] + PIN wd_in[58] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.496 0.024 8.520 ; + END + END wd_in[58] + PIN wd_in[59] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.640 0.024 8.664 ; + END + END wd_in[59] + PIN wd_in[60] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.784 0.024 8.808 ; + END + END wd_in[60] + PIN wd_in[61] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.928 0.024 8.952 ; + END + END wd_in[61] + PIN wd_in[62] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.072 0.024 9.096 ; + END + END wd_in[62] + PIN wd_in[63] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.216 0.024 9.240 ; + END + END wd_in[63] + PIN wd_in[64] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.360 0.024 9.384 ; + END + END wd_in[64] + PIN wd_in[65] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.504 0.024 9.528 ; + END + END wd_in[65] + PIN wd_in[66] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.648 0.024 9.672 ; + END + END wd_in[66] + PIN wd_in[67] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.792 0.024 9.816 ; + END + END wd_in[67] + PIN wd_in[68] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.936 0.024 9.960 ; + END + END wd_in[68] + PIN wd_in[69] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.080 0.024 10.104 ; + END + END wd_in[69] + PIN wd_in[70] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.224 0.024 10.248 ; + END + END wd_in[70] + PIN wd_in[71] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.368 0.024 10.392 ; + END + END wd_in[71] + PIN wd_in[72] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.512 0.024 10.536 ; + END + END wd_in[72] + PIN wd_in[73] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.656 0.024 10.680 ; + END + END wd_in[73] + PIN wd_in[74] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.800 0.024 10.824 ; + END + END wd_in[74] + PIN wd_in[75] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.944 0.024 10.968 ; + END + END wd_in[75] + PIN wd_in[76] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.088 0.024 11.112 ; + END + END wd_in[76] + PIN wd_in[77] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.232 0.024 11.256 ; + END + END wd_in[77] + PIN wd_in[78] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.376 0.024 11.400 ; + END + END wd_in[78] + PIN wd_in[79] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.520 0.024 11.544 ; + END + END wd_in[79] + PIN wd_in[80] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.664 0.024 11.688 ; + END + END wd_in[80] + PIN wd_in[81] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.808 0.024 11.832 ; + END + END wd_in[81] + PIN wd_in[82] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.952 0.024 11.976 ; + END + END wd_in[82] + PIN wd_in[83] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.096 0.024 12.120 ; + END + END wd_in[83] + PIN wd_in[84] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.240 0.024 12.264 ; + END + END wd_in[84] + PIN wd_in[85] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.384 0.024 12.408 ; + END + END wd_in[85] + PIN wd_in[86] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.528 0.024 12.552 ; + END + END wd_in[86] + PIN wd_in[87] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.672 0.024 12.696 ; + END + END wd_in[87] + PIN wd_in[88] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.816 0.024 12.840 ; + END + END wd_in[88] + PIN wd_in[89] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.960 0.024 12.984 ; + END + END wd_in[89] + PIN wd_in[90] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.104 0.024 13.128 ; + END + END wd_in[90] + PIN wd_in[91] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.248 0.024 13.272 ; + END + END wd_in[91] + PIN wd_in[92] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.392 0.024 13.416 ; + END + END wd_in[92] + PIN wd_in[93] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.536 0.024 13.560 ; + END + END wd_in[93] + PIN wd_in[94] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.680 0.024 13.704 ; + END + END wd_in[94] + PIN wd_in[95] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.824 0.024 13.848 ; + END + END wd_in[95] + PIN wd_in[96] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.968 0.024 13.992 ; + END + END wd_in[96] + PIN wd_in[97] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.112 0.024 14.136 ; + END + END wd_in[97] + PIN wd_in[98] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.256 0.024 14.280 ; + END + END wd_in[98] + PIN wd_in[99] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.400 0.024 14.424 ; + END + END wd_in[99] + PIN wd_in[100] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.544 0.024 14.568 ; + END + END wd_in[100] + PIN wd_in[101] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.688 0.024 14.712 ; + END + END wd_in[101] + PIN wd_in[102] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.832 0.024 14.856 ; + END + END wd_in[102] + PIN wd_in[103] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.976 0.024 15.000 ; + END + END wd_in[103] + PIN wd_in[104] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.120 0.024 15.144 ; + END + END wd_in[104] + PIN wd_in[105] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.264 0.024 15.288 ; + END + END wd_in[105] + PIN wd_in[106] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.408 0.024 15.432 ; + END + END wd_in[106] + PIN wd_in[107] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.552 0.024 15.576 ; + END + END wd_in[107] + PIN wd_in[108] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.696 0.024 15.720 ; + END + END wd_in[108] + PIN wd_in[109] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.840 0.024 15.864 ; + END + END wd_in[109] + PIN wd_in[110] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.984 0.024 16.008 ; + END + END wd_in[110] + PIN wd_in[111] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.128 0.024 16.152 ; + END + END wd_in[111] + PIN wd_in[112] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.272 0.024 16.296 ; + END + END wd_in[112] + PIN wd_in[113] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.416 0.024 16.440 ; + END + END wd_in[113] + PIN wd_in[114] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.560 0.024 16.584 ; + END + END wd_in[114] + PIN wd_in[115] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.704 0.024 16.728 ; + END + END wd_in[115] + PIN wd_in[116] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.848 0.024 16.872 ; + END + END wd_in[116] + PIN wd_in[117] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.992 0.024 17.016 ; + END + END wd_in[117] + PIN wd_in[118] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.136 0.024 17.160 ; + END + END wd_in[118] + PIN wd_in[119] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.280 0.024 17.304 ; + END + END wd_in[119] + PIN wd_in[120] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.424 0.024 17.448 ; + END + END wd_in[120] + PIN wd_in[121] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.568 0.024 17.592 ; + END + END wd_in[121] + PIN wd_in[122] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.712 0.024 17.736 ; + END + END wd_in[122] + PIN wd_in[123] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.856 0.024 17.880 ; + END + END wd_in[123] + PIN wd_in[124] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.000 0.024 18.024 ; + END + END wd_in[124] + PIN wd_in[125] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.144 0.024 18.168 ; + END + END wd_in[125] + PIN wd_in[126] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.288 0.024 18.312 ; + END + END wd_in[126] + PIN wd_in[127] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.432 0.024 18.456 ; + END + END wd_in[127] + PIN wd_in[128] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.576 0.024 18.600 ; + END + END wd_in[128] + PIN wd_in[129] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.720 0.024 18.744 ; + END + END wd_in[129] + PIN wd_in[130] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.864 0.024 18.888 ; + END + END wd_in[130] + PIN wd_in[131] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.008 0.024 19.032 ; + END + END wd_in[131] + PIN wd_in[132] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.152 0.024 19.176 ; + END + END wd_in[132] + PIN wd_in[133] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.296 0.024 19.320 ; + END + END wd_in[133] + PIN wd_in[134] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.440 0.024 19.464 ; + END + END wd_in[134] + PIN wd_in[135] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.584 0.024 19.608 ; + END + END wd_in[135] + PIN wd_in[136] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.728 0.024 19.752 ; + END + END wd_in[136] + PIN wd_in[137] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.872 0.024 19.896 ; + END + END wd_in[137] + PIN wd_in[138] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.016 0.024 20.040 ; + END + END wd_in[138] + PIN wd_in[139] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.160 0.024 20.184 ; + END + END wd_in[139] + PIN wd_in[140] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.304 0.024 20.328 ; + END + END wd_in[140] + PIN wd_in[141] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.448 0.024 20.472 ; + END + END wd_in[141] + PIN wd_in[142] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.592 0.024 20.616 ; + END + END wd_in[142] + PIN wd_in[143] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.736 0.024 20.760 ; + END + END wd_in[143] + PIN wd_in[144] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.880 0.024 20.904 ; + END + END wd_in[144] + PIN wd_in[145] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.024 0.024 21.048 ; + END + END wd_in[145] + PIN wd_in[146] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.168 0.024 21.192 ; + END + END wd_in[146] + PIN wd_in[147] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.312 0.024 21.336 ; + END + END wd_in[147] + PIN wd_in[148] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.456 0.024 21.480 ; + END + END wd_in[148] + PIN wd_in[149] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.600 0.024 21.624 ; + END + END wd_in[149] + PIN wd_in[150] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.744 0.024 21.768 ; + END + END wd_in[150] + PIN wd_in[151] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.888 0.024 21.912 ; + END + END wd_in[151] + PIN wd_in[152] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.032 0.024 22.056 ; + END + END wd_in[152] + PIN wd_in[153] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.176 0.024 22.200 ; + END + END wd_in[153] + PIN wd_in[154] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.320 0.024 22.344 ; + END + END wd_in[154] + PIN wd_in[155] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.464 0.024 22.488 ; + END + END wd_in[155] + PIN wd_in[156] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.608 0.024 22.632 ; + END + END wd_in[156] + PIN wd_in[157] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.752 0.024 22.776 ; + END + END wd_in[157] + PIN wd_in[158] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.896 0.024 22.920 ; + END + END wd_in[158] + PIN wd_in[159] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.040 0.024 23.064 ; + END + END wd_in[159] + PIN wd_in[160] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.184 0.024 23.208 ; + END + END wd_in[160] + PIN wd_in[161] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.328 0.024 23.352 ; + END + END wd_in[161] + PIN wd_in[162] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.472 0.024 23.496 ; + END + END wd_in[162] + PIN wd_in[163] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.616 0.024 23.640 ; + END + END wd_in[163] + PIN wd_in[164] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.760 0.024 23.784 ; + END + END wd_in[164] + PIN wd_in[165] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.904 0.024 23.928 ; + END + END wd_in[165] + PIN wd_in[166] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.048 0.024 24.072 ; + END + END wd_in[166] + PIN wd_in[167] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.192 0.024 24.216 ; + END + END wd_in[167] + PIN wd_in[168] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.336 0.024 24.360 ; + END + END wd_in[168] + PIN wd_in[169] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.480 0.024 24.504 ; + END + END wd_in[169] + PIN wd_in[170] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.624 0.024 24.648 ; + END + END wd_in[170] + PIN wd_in[171] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.768 0.024 24.792 ; + END + END wd_in[171] + PIN wd_in[172] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.912 0.024 24.936 ; + END + END wd_in[172] + PIN wd_in[173] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.056 0.024 25.080 ; + END + END wd_in[173] + PIN wd_in[174] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.200 0.024 25.224 ; + END + END wd_in[174] + PIN wd_in[175] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.344 0.024 25.368 ; + END + END wd_in[175] + PIN wd_in[176] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.488 0.024 25.512 ; + END + END wd_in[176] + PIN wd_in[177] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.632 0.024 25.656 ; + END + END wd_in[177] + PIN wd_in[178] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.776 0.024 25.800 ; + END + END wd_in[178] + PIN wd_in[179] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.920 0.024 25.944 ; + END + END wd_in[179] + PIN wd_in[180] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.064 0.024 26.088 ; + END + END wd_in[180] + PIN wd_in[181] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.208 0.024 26.232 ; + END + END wd_in[181] + PIN wd_in[182] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.352 0.024 26.376 ; + END + END wd_in[182] + PIN wd_in[183] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.496 0.024 26.520 ; + END + END wd_in[183] + PIN w_mask_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.640 0.024 26.664 ; + END + END w_mask_in[0] + PIN w_mask_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.784 0.024 26.808 ; + END + END w_mask_in[1] + PIN w_mask_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.928 0.024 26.952 ; + END + END w_mask_in[2] + PIN w_mask_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.072 0.024 27.096 ; + END + END w_mask_in[3] + PIN w_mask_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.216 0.024 27.240 ; + END + END w_mask_in[4] + PIN w_mask_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.360 0.024 27.384 ; + END + END w_mask_in[5] + PIN w_mask_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.504 0.024 27.528 ; + END + END w_mask_in[6] + PIN w_mask_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.648 0.024 27.672 ; + END + END w_mask_in[7] + PIN w_mask_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.792 0.024 27.816 ; + END + END w_mask_in[8] + PIN w_mask_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.936 0.024 27.960 ; + END + END w_mask_in[9] + PIN w_mask_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.080 0.024 28.104 ; + END + END w_mask_in[10] + PIN w_mask_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.224 0.024 28.248 ; + END + END w_mask_in[11] + PIN w_mask_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.368 0.024 28.392 ; + END + END w_mask_in[12] + PIN w_mask_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.512 0.024 28.536 ; + END + END w_mask_in[13] + PIN w_mask_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.656 0.024 28.680 ; + END + END w_mask_in[14] + PIN w_mask_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.800 0.024 28.824 ; + END + END w_mask_in[15] + PIN w_mask_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.944 0.024 28.968 ; + END + END w_mask_in[16] + PIN w_mask_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.088 0.024 29.112 ; + END + END w_mask_in[17] + PIN w_mask_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.232 0.024 29.256 ; + END + END w_mask_in[18] + PIN w_mask_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.376 0.024 29.400 ; + END + END w_mask_in[19] + PIN w_mask_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.520 0.024 29.544 ; + END + END w_mask_in[20] + PIN w_mask_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.664 0.024 29.688 ; + END + END w_mask_in[21] + PIN w_mask_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.808 0.024 29.832 ; + END + END w_mask_in[22] + PIN w_mask_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.952 0.024 29.976 ; + END + END w_mask_in[23] + PIN w_mask_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.096 0.024 30.120 ; + END + END w_mask_in[24] + PIN w_mask_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.240 0.024 30.264 ; + END + END w_mask_in[25] + PIN w_mask_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.384 0.024 30.408 ; + END + END w_mask_in[26] + PIN w_mask_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.528 0.024 30.552 ; + END + END w_mask_in[27] + PIN w_mask_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.672 0.024 30.696 ; + END + END w_mask_in[28] + PIN w_mask_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.816 0.024 30.840 ; + END + END w_mask_in[29] + PIN w_mask_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.960 0.024 30.984 ; + END + END w_mask_in[30] + PIN w_mask_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.104 0.024 31.128 ; + END + END w_mask_in[31] + PIN w_mask_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.248 0.024 31.272 ; + END + END w_mask_in[32] + PIN w_mask_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.392 0.024 31.416 ; + END + END w_mask_in[33] + PIN w_mask_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.536 0.024 31.560 ; + END + END w_mask_in[34] + PIN w_mask_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.680 0.024 31.704 ; + END + END w_mask_in[35] + PIN w_mask_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.824 0.024 31.848 ; + END + END w_mask_in[36] + PIN w_mask_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.968 0.024 31.992 ; + END + END w_mask_in[37] + PIN w_mask_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.112 0.024 32.136 ; + END + END w_mask_in[38] + PIN w_mask_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.256 0.024 32.280 ; + END + END w_mask_in[39] + PIN w_mask_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.400 0.024 32.424 ; + END + END w_mask_in[40] + PIN w_mask_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.544 0.024 32.568 ; + END + END w_mask_in[41] + PIN w_mask_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.688 0.024 32.712 ; + END + END w_mask_in[42] + PIN w_mask_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.832 0.024 32.856 ; + END + END w_mask_in[43] + PIN w_mask_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.976 0.024 33.000 ; + END + END w_mask_in[44] + PIN w_mask_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.120 0.024 33.144 ; + END + END w_mask_in[45] + PIN w_mask_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.264 0.024 33.288 ; + END + END w_mask_in[46] + PIN w_mask_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.408 0.024 33.432 ; + END + END w_mask_in[47] + PIN w_mask_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.552 0.024 33.576 ; + END + END w_mask_in[48] + PIN w_mask_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.696 0.024 33.720 ; + END + END w_mask_in[49] + PIN w_mask_in[50] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.840 0.024 33.864 ; + END + END w_mask_in[50] + PIN w_mask_in[51] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.984 0.024 34.008 ; + END + END w_mask_in[51] + PIN w_mask_in[52] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.128 0.024 34.152 ; + END + END w_mask_in[52] + PIN w_mask_in[53] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.272 0.024 34.296 ; + END + END w_mask_in[53] + PIN w_mask_in[54] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.416 0.024 34.440 ; + END + END w_mask_in[54] + PIN w_mask_in[55] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.560 0.024 34.584 ; + END + END w_mask_in[55] + PIN w_mask_in[56] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.704 0.024 34.728 ; + END + END w_mask_in[56] + PIN w_mask_in[57] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.848 0.024 34.872 ; + END + END w_mask_in[57] + PIN w_mask_in[58] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.992 0.024 35.016 ; + END + END w_mask_in[58] + PIN w_mask_in[59] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.136 0.024 35.160 ; + END + END w_mask_in[59] + PIN w_mask_in[60] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.280 0.024 35.304 ; + END + END w_mask_in[60] + PIN w_mask_in[61] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.424 0.024 35.448 ; + END + END w_mask_in[61] + PIN w_mask_in[62] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.568 0.024 35.592 ; + END + END w_mask_in[62] + PIN w_mask_in[63] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.712 0.024 35.736 ; + END + END w_mask_in[63] + PIN w_mask_in[64] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.856 0.024 35.880 ; + END + END w_mask_in[64] + PIN w_mask_in[65] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.000 0.024 36.024 ; + END + END w_mask_in[65] + PIN w_mask_in[66] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.144 0.024 36.168 ; + END + END w_mask_in[66] + PIN w_mask_in[67] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.288 0.024 36.312 ; + END + END w_mask_in[67] + PIN w_mask_in[68] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.432 0.024 36.456 ; + END + END w_mask_in[68] + PIN w_mask_in[69] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.576 0.024 36.600 ; + END + END w_mask_in[69] + PIN w_mask_in[70] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.720 0.024 36.744 ; + END + END w_mask_in[70] + PIN w_mask_in[71] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.864 0.024 36.888 ; + END + END w_mask_in[71] + PIN w_mask_in[72] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.008 0.024 37.032 ; + END + END w_mask_in[72] + PIN w_mask_in[73] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.152 0.024 37.176 ; + END + END w_mask_in[73] + PIN w_mask_in[74] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.296 0.024 37.320 ; + END + END w_mask_in[74] + PIN w_mask_in[75] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.440 0.024 37.464 ; + END + END w_mask_in[75] + PIN w_mask_in[76] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.584 0.024 37.608 ; + END + END w_mask_in[76] + PIN w_mask_in[77] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.728 0.024 37.752 ; + END + END w_mask_in[77] + PIN w_mask_in[78] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.872 0.024 37.896 ; + END + END w_mask_in[78] + PIN w_mask_in[79] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.016 0.024 38.040 ; + END + END w_mask_in[79] + PIN w_mask_in[80] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.160 0.024 38.184 ; + END + END w_mask_in[80] + PIN w_mask_in[81] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.304 0.024 38.328 ; + END + END w_mask_in[81] + PIN w_mask_in[82] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.448 0.024 38.472 ; + END + END w_mask_in[82] + PIN w_mask_in[83] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.592 0.024 38.616 ; + END + END w_mask_in[83] + PIN w_mask_in[84] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.736 0.024 38.760 ; + END + END w_mask_in[84] + PIN w_mask_in[85] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.880 0.024 38.904 ; + END + END w_mask_in[85] + PIN w_mask_in[86] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.024 0.024 39.048 ; + END + END w_mask_in[86] + PIN w_mask_in[87] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.168 0.024 39.192 ; + END + END w_mask_in[87] + PIN w_mask_in[88] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.312 0.024 39.336 ; + END + END w_mask_in[88] + PIN w_mask_in[89] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.456 0.024 39.480 ; + END + END w_mask_in[89] + PIN w_mask_in[90] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.600 0.024 39.624 ; + END + END w_mask_in[90] + PIN w_mask_in[91] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.744 0.024 39.768 ; + END + END w_mask_in[91] + PIN w_mask_in[92] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.888 0.024 39.912 ; + END + END w_mask_in[92] + PIN w_mask_in[93] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.032 0.024 40.056 ; + END + END w_mask_in[93] + PIN w_mask_in[94] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.176 0.024 40.200 ; + END + END w_mask_in[94] + PIN w_mask_in[95] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.320 0.024 40.344 ; + END + END w_mask_in[95] + PIN w_mask_in[96] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.464 0.024 40.488 ; + END + END w_mask_in[96] + PIN w_mask_in[97] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.608 0.024 40.632 ; + END + END w_mask_in[97] + PIN w_mask_in[98] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.752 0.024 40.776 ; + END + END w_mask_in[98] + PIN w_mask_in[99] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.896 0.024 40.920 ; + END + END w_mask_in[99] + PIN w_mask_in[100] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.040 0.024 41.064 ; + END + END w_mask_in[100] + PIN w_mask_in[101] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.184 0.024 41.208 ; + END + END w_mask_in[101] + PIN w_mask_in[102] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.328 0.024 41.352 ; + END + END w_mask_in[102] + PIN w_mask_in[103] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.472 0.024 41.496 ; + END + END w_mask_in[103] + PIN w_mask_in[104] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.616 0.024 41.640 ; + END + END w_mask_in[104] + PIN w_mask_in[105] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.760 0.024 41.784 ; + END + END w_mask_in[105] + PIN w_mask_in[106] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.904 0.024 41.928 ; + END + END w_mask_in[106] + PIN w_mask_in[107] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.048 0.024 42.072 ; + END + END w_mask_in[107] + PIN w_mask_in[108] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.192 0.024 42.216 ; + END + END w_mask_in[108] + PIN w_mask_in[109] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.336 0.024 42.360 ; + END + END w_mask_in[109] + PIN w_mask_in[110] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.480 0.024 42.504 ; + END + END w_mask_in[110] + PIN w_mask_in[111] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.624 0.024 42.648 ; + END + END w_mask_in[111] + PIN w_mask_in[112] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.768 0.024 42.792 ; + END + END w_mask_in[112] + PIN w_mask_in[113] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.912 0.024 42.936 ; + END + END w_mask_in[113] + PIN w_mask_in[114] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.056 0.024 43.080 ; + END + END w_mask_in[114] + PIN w_mask_in[115] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.200 0.024 43.224 ; + END + END w_mask_in[115] + PIN w_mask_in[116] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.344 0.024 43.368 ; + END + END w_mask_in[116] + PIN w_mask_in[117] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.488 0.024 43.512 ; + END + END w_mask_in[117] + PIN w_mask_in[118] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.632 0.024 43.656 ; + END + END w_mask_in[118] + PIN w_mask_in[119] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.776 0.024 43.800 ; + END + END w_mask_in[119] + PIN w_mask_in[120] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.920 0.024 43.944 ; + END + END w_mask_in[120] + PIN w_mask_in[121] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.064 0.024 44.088 ; + END + END w_mask_in[121] + PIN w_mask_in[122] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.208 0.024 44.232 ; + END + END w_mask_in[122] + PIN w_mask_in[123] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.352 0.024 44.376 ; + END + END w_mask_in[123] + PIN w_mask_in[124] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.496 0.024 44.520 ; + END + END w_mask_in[124] + PIN w_mask_in[125] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.640 0.024 44.664 ; + END + END w_mask_in[125] + PIN w_mask_in[126] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.784 0.024 44.808 ; + END + END w_mask_in[126] + PIN w_mask_in[127] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.928 0.024 44.952 ; + END + END w_mask_in[127] + PIN w_mask_in[128] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.072 0.024 45.096 ; + END + END w_mask_in[128] + PIN w_mask_in[129] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.216 0.024 45.240 ; + END + END w_mask_in[129] + PIN w_mask_in[130] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.360 0.024 45.384 ; + END + END w_mask_in[130] + PIN w_mask_in[131] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.504 0.024 45.528 ; + END + END w_mask_in[131] + PIN w_mask_in[132] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.648 0.024 45.672 ; + END + END w_mask_in[132] + PIN w_mask_in[133] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.792 0.024 45.816 ; + END + END w_mask_in[133] + PIN w_mask_in[134] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.936 0.024 45.960 ; + END + END w_mask_in[134] + PIN w_mask_in[135] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.080 0.024 46.104 ; + END + END w_mask_in[135] + PIN w_mask_in[136] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.224 0.024 46.248 ; + END + END w_mask_in[136] + PIN w_mask_in[137] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.368 0.024 46.392 ; + END + END w_mask_in[137] + PIN w_mask_in[138] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.512 0.024 46.536 ; + END + END w_mask_in[138] + PIN w_mask_in[139] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.656 0.024 46.680 ; + END + END w_mask_in[139] + PIN w_mask_in[140] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.800 0.024 46.824 ; + END + END w_mask_in[140] + PIN w_mask_in[141] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.944 0.024 46.968 ; + END + END w_mask_in[141] + PIN w_mask_in[142] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.088 0.024 47.112 ; + END + END w_mask_in[142] + PIN w_mask_in[143] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.232 0.024 47.256 ; + END + END w_mask_in[143] + PIN w_mask_in[144] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.376 0.024 47.400 ; + END + END w_mask_in[144] + PIN w_mask_in[145] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.520 0.024 47.544 ; + END + END w_mask_in[145] + PIN w_mask_in[146] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.664 0.024 47.688 ; + END + END w_mask_in[146] + PIN w_mask_in[147] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.808 0.024 47.832 ; + END + END w_mask_in[147] + PIN w_mask_in[148] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.952 0.024 47.976 ; + END + END w_mask_in[148] + PIN w_mask_in[149] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.096 0.024 48.120 ; + END + END w_mask_in[149] + PIN w_mask_in[150] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.240 0.024 48.264 ; + END + END w_mask_in[150] + PIN w_mask_in[151] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.384 0.024 48.408 ; + END + END w_mask_in[151] + PIN w_mask_in[152] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.528 0.024 48.552 ; + END + END w_mask_in[152] + PIN w_mask_in[153] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.672 0.024 48.696 ; + END + END w_mask_in[153] + PIN w_mask_in[154] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.816 0.024 48.840 ; + END + END w_mask_in[154] + PIN w_mask_in[155] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.960 0.024 48.984 ; + END + END w_mask_in[155] + PIN w_mask_in[156] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.104 0.024 49.128 ; + END + END w_mask_in[156] + PIN w_mask_in[157] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.248 0.024 49.272 ; + END + END w_mask_in[157] + PIN w_mask_in[158] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.392 0.024 49.416 ; + END + END w_mask_in[158] + PIN w_mask_in[159] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.536 0.024 49.560 ; + END + END w_mask_in[159] + PIN w_mask_in[160] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.680 0.024 49.704 ; + END + END w_mask_in[160] + PIN w_mask_in[161] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.824 0.024 49.848 ; + END + END w_mask_in[161] + PIN w_mask_in[162] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.968 0.024 49.992 ; + END + END w_mask_in[162] + PIN w_mask_in[163] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.112 0.024 50.136 ; + END + END w_mask_in[163] + PIN w_mask_in[164] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.256 0.024 50.280 ; + END + END w_mask_in[164] + PIN w_mask_in[165] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.400 0.024 50.424 ; + END + END w_mask_in[165] + PIN w_mask_in[166] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.544 0.024 50.568 ; + END + END w_mask_in[166] + PIN w_mask_in[167] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.688 0.024 50.712 ; + END + END w_mask_in[167] + PIN w_mask_in[168] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.832 0.024 50.856 ; + END + END w_mask_in[168] + PIN w_mask_in[169] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.976 0.024 51.000 ; + END + END w_mask_in[169] + PIN w_mask_in[170] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.120 0.024 51.144 ; + END + END w_mask_in[170] + PIN w_mask_in[171] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.264 0.024 51.288 ; + END + END w_mask_in[171] + PIN w_mask_in[172] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.408 0.024 51.432 ; + END + END w_mask_in[172] + PIN w_mask_in[173] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.552 0.024 51.576 ; + END + END w_mask_in[173] + PIN w_mask_in[174] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.696 0.024 51.720 ; + END + END w_mask_in[174] + PIN w_mask_in[175] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.840 0.024 51.864 ; + END + END w_mask_in[175] + PIN w_mask_in[176] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.984 0.024 52.008 ; + END + END w_mask_in[176] + PIN w_mask_in[177] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.128 0.024 52.152 ; + END + END w_mask_in[177] + PIN w_mask_in[178] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.272 0.024 52.296 ; + END + END w_mask_in[178] + PIN w_mask_in[179] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.416 0.024 52.440 ; + END + END w_mask_in[179] + PIN w_mask_in[180] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.560 0.024 52.584 ; + END + END w_mask_in[180] + PIN w_mask_in[181] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.704 0.024 52.728 ; + END + END w_mask_in[181] + PIN w_mask_in[182] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.848 0.024 52.872 ; + END + END w_mask_in[182] + PIN w_mask_in[183] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.992 0.024 53.016 ; + END + END w_mask_in[183] + PIN addr_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.136 0.024 53.160 ; + END + END addr_in[0] + PIN addr_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.280 0.024 53.304 ; + END + END addr_in[1] + PIN addr_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.424 0.024 53.448 ; + END + END addr_in[2] + PIN addr_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.568 0.024 53.592 ; + END + END addr_in[3] + PIN addr_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.712 0.024 53.736 ; + END + END addr_in[4] + PIN addr_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.856 0.024 53.880 ; + END + END addr_in[5] + PIN rd_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.000 0.024 54.024 ; + END + END rd_out[0] + PIN rd_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.144 0.024 54.168 ; + END + END rd_out[1] + PIN rd_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.288 0.024 54.312 ; + END + END rd_out[2] + PIN rd_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.432 0.024 54.456 ; + END + END rd_out[3] + PIN rd_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.576 0.024 54.600 ; + END + END rd_out[4] + PIN rd_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.720 0.024 54.744 ; + END + END rd_out[5] + PIN rd_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.864 0.024 54.888 ; + END + END rd_out[6] + PIN rd_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.008 0.024 55.032 ; + END + END rd_out[7] + PIN rd_out[8] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.152 0.024 55.176 ; + END + END rd_out[8] + PIN rd_out[9] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.296 0.024 55.320 ; + END + END rd_out[9] + PIN rd_out[10] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.440 0.024 55.464 ; + END + END rd_out[10] + PIN rd_out[11] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.584 0.024 55.608 ; + END + END rd_out[11] + PIN rd_out[12] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.728 0.024 55.752 ; + END + END rd_out[12] + PIN rd_out[13] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.872 0.024 55.896 ; + END + END rd_out[13] + PIN rd_out[14] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.016 0.024 56.040 ; + END + END rd_out[14] + PIN rd_out[15] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.160 0.024 56.184 ; + END + END rd_out[15] + PIN rd_out[16] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.304 0.024 56.328 ; + END + END rd_out[16] + PIN rd_out[17] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.448 0.024 56.472 ; + END + END rd_out[17] + PIN rd_out[18] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.592 0.024 56.616 ; + END + END rd_out[18] + PIN rd_out[19] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.736 0.024 56.760 ; + END + END rd_out[19] + PIN rd_out[20] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.880 0.024 56.904 ; + END + END rd_out[20] + PIN rd_out[21] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.024 0.024 57.048 ; + END + END rd_out[21] + PIN rd_out[22] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.168 0.024 57.192 ; + END + END rd_out[22] + PIN rd_out[23] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.312 0.024 57.336 ; + END + END rd_out[23] + PIN rd_out[24] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.456 0.024 57.480 ; + END + END rd_out[24] + PIN rd_out[25] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.600 0.024 57.624 ; + END + END rd_out[25] + PIN rd_out[26] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.744 0.024 57.768 ; + END + END rd_out[26] + PIN rd_out[27] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.888 0.024 57.912 ; + END + END rd_out[27] + PIN rd_out[28] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.032 0.024 58.056 ; + END + END rd_out[28] + PIN rd_out[29] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.176 0.024 58.200 ; + END + END rd_out[29] + PIN rd_out[30] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.320 0.024 58.344 ; + END + END rd_out[30] + PIN rd_out[31] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.464 0.024 58.488 ; + END + END rd_out[31] + PIN rd_out[32] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.608 0.024 58.632 ; + END + END rd_out[32] + PIN rd_out[33] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.752 0.024 58.776 ; + END + END rd_out[33] + PIN rd_out[34] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.896 0.024 58.920 ; + END + END rd_out[34] + PIN rd_out[35] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.040 0.024 59.064 ; + END + END rd_out[35] + PIN rd_out[36] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.184 0.024 59.208 ; + END + END rd_out[36] + PIN rd_out[37] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.328 0.024 59.352 ; + END + END rd_out[37] + PIN rd_out[38] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.472 0.024 59.496 ; + END + END rd_out[38] + PIN rd_out[39] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.616 0.024 59.640 ; + END + END rd_out[39] + PIN rd_out[40] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.760 0.024 59.784 ; + END + END rd_out[40] + PIN rd_out[41] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.904 0.024 59.928 ; + END + END rd_out[41] + PIN rd_out[42] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.048 0.024 60.072 ; + END + END rd_out[42] + PIN rd_out[43] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.192 0.024 60.216 ; + END + END rd_out[43] + PIN rd_out[44] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.336 0.024 60.360 ; + END + END rd_out[44] + PIN rd_out[45] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.480 0.024 60.504 ; + END + END rd_out[45] + PIN rd_out[46] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.624 0.024 60.648 ; + END + END rd_out[46] + PIN rd_out[47] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.768 0.024 60.792 ; + END + END rd_out[47] + PIN rd_out[48] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.912 0.024 60.936 ; + END + END rd_out[48] + PIN rd_out[49] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.056 0.024 61.080 ; + END + END rd_out[49] + PIN rd_out[50] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.200 0.024 61.224 ; + END + END rd_out[50] + PIN rd_out[51] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.344 0.024 61.368 ; + END + END rd_out[51] + PIN rd_out[52] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.488 0.024 61.512 ; + END + END rd_out[52] + PIN rd_out[53] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.632 0.024 61.656 ; + END + END rd_out[53] + PIN rd_out[54] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.776 0.024 61.800 ; + END + END rd_out[54] + PIN rd_out[55] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.920 0.024 61.944 ; + END + END rd_out[55] + PIN rd_out[56] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.064 0.024 62.088 ; + END + END rd_out[56] + PIN rd_out[57] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.208 0.024 62.232 ; + END + END rd_out[57] + PIN rd_out[58] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.352 0.024 62.376 ; + END + END rd_out[58] + PIN rd_out[59] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.496 0.024 62.520 ; + END + END rd_out[59] + PIN rd_out[60] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.640 0.024 62.664 ; + END + END rd_out[60] + PIN rd_out[61] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.784 0.024 62.808 ; + END + END rd_out[61] + PIN rd_out[62] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.928 0.024 62.952 ; + END + END rd_out[62] + PIN rd_out[63] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.072 0.024 63.096 ; + END + END rd_out[63] + PIN rd_out[64] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.216 0.024 63.240 ; + END + END rd_out[64] + PIN rd_out[65] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.360 0.024 63.384 ; + END + END rd_out[65] + PIN rd_out[66] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.504 0.024 63.528 ; + END + END rd_out[66] + PIN rd_out[67] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.648 0.024 63.672 ; + END + END rd_out[67] + PIN rd_out[68] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.792 0.024 63.816 ; + END + END rd_out[68] + PIN rd_out[69] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.936 0.024 63.960 ; + END + END rd_out[69] + PIN rd_out[70] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.080 0.024 64.104 ; + END + END rd_out[70] + PIN rd_out[71] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.224 0.024 64.248 ; + END + END rd_out[71] + PIN rd_out[72] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.368 0.024 64.392 ; + END + END rd_out[72] + PIN rd_out[73] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.512 0.024 64.536 ; + END + END rd_out[73] + PIN rd_out[74] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.656 0.024 64.680 ; + END + END rd_out[74] + PIN rd_out[75] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.800 0.024 64.824 ; + END + END rd_out[75] + PIN rd_out[76] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.944 0.024 64.968 ; + END + END rd_out[76] + PIN rd_out[77] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.088 0.024 65.112 ; + END + END rd_out[77] + PIN rd_out[78] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.232 0.024 65.256 ; + END + END rd_out[78] + PIN rd_out[79] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.376 0.024 65.400 ; + END + END rd_out[79] + PIN rd_out[80] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.520 0.024 65.544 ; + END + END rd_out[80] + PIN rd_out[81] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.664 0.024 65.688 ; + END + END rd_out[81] + PIN rd_out[82] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.808 0.024 65.832 ; + END + END rd_out[82] + PIN rd_out[83] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.952 0.024 65.976 ; + END + END rd_out[83] + PIN rd_out[84] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.096 0.024 66.120 ; + END + END rd_out[84] + PIN rd_out[85] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.240 0.024 66.264 ; + END + END rd_out[85] + PIN rd_out[86] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.384 0.024 66.408 ; + END + END rd_out[86] + PIN rd_out[87] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.528 0.024 66.552 ; + END + END rd_out[87] + PIN rd_out[88] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.672 0.024 66.696 ; + END + END rd_out[88] + PIN rd_out[89] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.816 0.024 66.840 ; + END + END rd_out[89] + PIN rd_out[90] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.960 0.024 66.984 ; + END + END rd_out[90] + PIN rd_out[91] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.104 0.024 67.128 ; + END + END rd_out[91] + PIN rd_out[92] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.248 0.024 67.272 ; + END + END rd_out[92] + PIN rd_out[93] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.392 0.024 67.416 ; + END + END rd_out[93] + PIN rd_out[94] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.536 0.024 67.560 ; + END + END rd_out[94] + PIN rd_out[95] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.680 0.024 67.704 ; + END + END rd_out[95] + PIN rd_out[96] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.824 0.024 67.848 ; + END + END rd_out[96] + PIN rd_out[97] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.968 0.024 67.992 ; + END + END rd_out[97] + PIN rd_out[98] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.112 0.024 68.136 ; + END + END rd_out[98] + PIN rd_out[99] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.256 0.024 68.280 ; + END + END rd_out[99] + PIN rd_out[100] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.400 0.024 68.424 ; + END + END rd_out[100] + PIN rd_out[101] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.544 0.024 68.568 ; + END + END rd_out[101] + PIN rd_out[102] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.688 0.024 68.712 ; + END + END rd_out[102] + PIN rd_out[103] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.832 0.024 68.856 ; + END + END rd_out[103] + PIN rd_out[104] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.976 0.024 69.000 ; + END + END rd_out[104] + PIN rd_out[105] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.120 0.024 69.144 ; + END + END rd_out[105] + PIN rd_out[106] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.264 0.024 69.288 ; + END + END rd_out[106] + PIN rd_out[107] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.408 0.024 69.432 ; + END + END rd_out[107] + PIN rd_out[108] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.552 0.024 69.576 ; + END + END rd_out[108] + PIN rd_out[109] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.696 0.024 69.720 ; + END + END rd_out[109] + PIN rd_out[110] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.840 0.024 69.864 ; + END + END rd_out[110] + PIN rd_out[111] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.984 0.024 70.008 ; + END + END rd_out[111] + PIN rd_out[112] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.128 0.024 70.152 ; + END + END rd_out[112] + PIN rd_out[113] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.272 0.024 70.296 ; + END + END rd_out[113] + PIN rd_out[114] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.416 0.024 70.440 ; + END + END rd_out[114] + PIN rd_out[115] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.560 0.024 70.584 ; + END + END rd_out[115] + PIN rd_out[116] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.704 0.024 70.728 ; + END + END rd_out[116] + PIN rd_out[117] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.848 0.024 70.872 ; + END + END rd_out[117] + PIN rd_out[118] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.992 0.024 71.016 ; + END + END rd_out[118] + PIN rd_out[119] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.136 0.024 71.160 ; + END + END rd_out[119] + PIN rd_out[120] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.280 0.024 71.304 ; + END + END rd_out[120] + PIN rd_out[121] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.424 0.024 71.448 ; + END + END rd_out[121] + PIN rd_out[122] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.568 0.024 71.592 ; + END + END rd_out[122] + PIN rd_out[123] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.712 0.024 71.736 ; + END + END rd_out[123] + PIN rd_out[124] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.856 0.024 71.880 ; + END + END rd_out[124] + PIN rd_out[125] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.000 0.024 72.024 ; + END + END rd_out[125] + PIN rd_out[126] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.144 0.024 72.168 ; + END + END rd_out[126] + PIN rd_out[127] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.288 0.024 72.312 ; + END + END rd_out[127] + PIN rd_out[128] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.432 0.024 72.456 ; + END + END rd_out[128] + PIN rd_out[129] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.576 0.024 72.600 ; + END + END rd_out[129] + PIN rd_out[130] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.720 0.024 72.744 ; + END + END rd_out[130] + PIN rd_out[131] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.864 0.024 72.888 ; + END + END rd_out[131] + PIN rd_out[132] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.008 0.024 73.032 ; + END + END rd_out[132] + PIN rd_out[133] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.152 0.024 73.176 ; + END + END rd_out[133] + PIN rd_out[134] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.296 0.024 73.320 ; + END + END rd_out[134] + PIN rd_out[135] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.440 0.024 73.464 ; + END + END rd_out[135] + PIN rd_out[136] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.584 0.024 73.608 ; + END + END rd_out[136] + PIN rd_out[137] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.728 0.024 73.752 ; + END + END rd_out[137] + PIN rd_out[138] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.872 0.024 73.896 ; + END + END rd_out[138] + PIN rd_out[139] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.016 0.024 74.040 ; + END + END rd_out[139] + PIN rd_out[140] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.160 0.024 74.184 ; + END + END rd_out[140] + PIN rd_out[141] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.304 0.024 74.328 ; + END + END rd_out[141] + PIN rd_out[142] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.448 0.024 74.472 ; + END + END rd_out[142] + PIN rd_out[143] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.592 0.024 74.616 ; + END + END rd_out[143] + PIN rd_out[144] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.736 0.024 74.760 ; + END + END rd_out[144] + PIN rd_out[145] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.880 0.024 74.904 ; + END + END rd_out[145] + PIN rd_out[146] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.024 0.024 75.048 ; + END + END rd_out[146] + PIN rd_out[147] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.168 0.024 75.192 ; + END + END rd_out[147] + PIN rd_out[148] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.312 0.024 75.336 ; + END + END rd_out[148] + PIN rd_out[149] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.456 0.024 75.480 ; + END + END rd_out[149] + PIN rd_out[150] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.600 0.024 75.624 ; + END + END rd_out[150] + PIN rd_out[151] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.744 0.024 75.768 ; + END + END rd_out[151] + PIN rd_out[152] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.888 0.024 75.912 ; + END + END rd_out[152] + PIN rd_out[153] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 76.032 0.024 76.056 ; + END + END rd_out[153] + PIN rd_out[154] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 76.176 0.024 76.200 ; + END + END rd_out[154] + PIN rd_out[155] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 76.320 0.024 76.344 ; + END + END rd_out[155] + PIN rd_out[156] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 76.464 0.024 76.488 ; + END + END rd_out[156] + PIN rd_out[157] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 76.608 0.024 76.632 ; + END + END rd_out[157] + PIN rd_out[158] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 76.752 0.024 76.776 ; + END + END rd_out[158] + PIN rd_out[159] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 76.896 0.024 76.920 ; + END + END rd_out[159] + PIN rd_out[160] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 77.040 0.024 77.064 ; + END + END rd_out[160] + PIN rd_out[161] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 77.184 0.024 77.208 ; + END + END rd_out[161] + PIN rd_out[162] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 77.328 0.024 77.352 ; + END + END rd_out[162] + PIN rd_out[163] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 77.472 0.024 77.496 ; + END + END rd_out[163] + PIN rd_out[164] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 77.616 0.024 77.640 ; + END + END rd_out[164] + PIN rd_out[165] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 77.760 0.024 77.784 ; + END + END rd_out[165] + PIN rd_out[166] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 77.904 0.024 77.928 ; + END + END rd_out[166] + PIN rd_out[167] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 78.048 0.024 78.072 ; + END + END rd_out[167] + PIN rd_out[168] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 78.192 0.024 78.216 ; + END + END rd_out[168] + PIN rd_out[169] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 78.336 0.024 78.360 ; + END + END rd_out[169] + PIN rd_out[170] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 78.480 0.024 78.504 ; + END + END rd_out[170] + PIN rd_out[171] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 78.624 0.024 78.648 ; + END + END rd_out[171] + PIN rd_out[172] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 78.768 0.024 78.792 ; + END + END rd_out[172] + PIN rd_out[173] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 78.912 0.024 78.936 ; + END + END rd_out[173] + PIN rd_out[174] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 79.056 0.024 79.080 ; + END + END rd_out[174] + PIN rd_out[175] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 79.200 0.024 79.224 ; + END + END rd_out[175] + PIN rd_out[176] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 79.344 0.024 79.368 ; + END + END rd_out[176] + PIN rd_out[177] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 79.488 0.024 79.512 ; + END + END rd_out[177] + PIN rd_out[178] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 79.632 0.024 79.656 ; + END + END rd_out[178] + PIN rd_out[179] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 79.776 0.024 79.800 ; + END + END rd_out[179] + PIN rd_out[180] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 79.920 0.024 79.944 ; + END + END rd_out[180] + PIN rd_out[181] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 80.064 0.024 80.088 ; + END + END rd_out[181] + PIN rd_out[182] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 80.208 0.024 80.232 ; + END + END rd_out[182] + PIN rd_out[183] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 80.352 0.024 80.376 ; + END + END rd_out[183] + PIN clk + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 80.496 0.024 80.520 ; + END + END clk + PIN ce_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 80.640 0.024 80.664 ; + END + END ce_in + PIN we_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 80.784 0.024 80.808 ; + END + END we_in + OBS + LAYER M1 ; + RECT 0.000 0.000 108.540 81.540 ; + LAYER M2 ; + RECT 0.000 0.000 108.540 81.540 ; + LAYER M3 ; + RECT 0.000 0.000 108.540 81.540 ; + END +END fakeram_64x184_1rw +END LIBRARY diff --git a/designs/asap7/bp_processor/sram/lef/fakeram_64x50_1rw.lef b/designs/asap7/bp_processor/sram/lef/fakeram_64x50_1rw.lef new file mode 100644 index 0000000..558347f --- /dev/null +++ b/designs/asap7/bp_processor/sram/lef/fakeram_64x50_1rw.lef @@ -0,0 +1,1448 @@ +VERSION 5.7 ; +BUSBITCHARS "[]" ; +MACRO fakeram_64x50_1rw + FOREIGN fakeram_64x50_1rw 0 0 ; + SYMMETRY X Y R90 ; + SIZE 56.592 BY 28.350 ; + CLASS BLOCK ; + PIN wd_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.144 0.024 0.168 ; + END + END wd_in[0] + PIN wd_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.288 0.024 0.312 ; + END + END wd_in[1] + PIN wd_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.432 0.024 0.456 ; + END + END wd_in[2] + PIN wd_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.576 0.024 0.600 ; + END + END wd_in[3] + PIN wd_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.720 0.024 0.744 ; + END + END wd_in[4] + PIN wd_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.864 0.024 0.888 ; + END + END wd_in[5] + PIN wd_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.008 0.024 1.032 ; + END + END wd_in[6] + PIN wd_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.152 0.024 1.176 ; + END + END wd_in[7] + PIN wd_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.296 0.024 1.320 ; + END + END wd_in[8] + PIN wd_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.440 0.024 1.464 ; + END + END wd_in[9] + PIN wd_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.584 0.024 1.608 ; + END + END wd_in[10] + PIN wd_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.728 0.024 1.752 ; + END + END wd_in[11] + PIN wd_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.872 0.024 1.896 ; + END + END wd_in[12] + PIN wd_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.016 0.024 2.040 ; + END + END wd_in[13] + PIN wd_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.160 0.024 2.184 ; + END + END wd_in[14] + PIN wd_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.304 0.024 2.328 ; + END + END wd_in[15] + PIN wd_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.448 0.024 2.472 ; + END + END wd_in[16] + PIN wd_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.592 0.024 2.616 ; + END + END wd_in[17] + PIN wd_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.736 0.024 2.760 ; + END + END wd_in[18] + PIN wd_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.880 0.024 2.904 ; + END + END wd_in[19] + PIN wd_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.024 0.024 3.048 ; + END + END wd_in[20] + PIN wd_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.168 0.024 3.192 ; + END + END wd_in[21] + PIN wd_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.312 0.024 3.336 ; + END + END wd_in[22] + PIN wd_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.456 0.024 3.480 ; + END + END wd_in[23] + PIN wd_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.600 0.024 3.624 ; + END + END wd_in[24] + PIN wd_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.744 0.024 3.768 ; + END + END wd_in[25] + PIN wd_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.888 0.024 3.912 ; + END + END wd_in[26] + PIN wd_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.032 0.024 4.056 ; + END + END wd_in[27] + PIN wd_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.176 0.024 4.200 ; + END + END wd_in[28] + PIN wd_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.320 0.024 4.344 ; + END + END wd_in[29] + PIN wd_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.464 0.024 4.488 ; + END + END wd_in[30] + PIN wd_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.608 0.024 4.632 ; + END + END wd_in[31] + PIN wd_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.752 0.024 4.776 ; + END + END wd_in[32] + PIN wd_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.896 0.024 4.920 ; + END + END wd_in[33] + PIN wd_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.040 0.024 5.064 ; + END + END wd_in[34] + PIN wd_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.184 0.024 5.208 ; + END + END wd_in[35] + PIN wd_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.328 0.024 5.352 ; + END + END wd_in[36] + PIN wd_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.472 0.024 5.496 ; + END + END wd_in[37] + PIN wd_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.616 0.024 5.640 ; + END + END wd_in[38] + PIN wd_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.760 0.024 5.784 ; + END + END wd_in[39] + PIN wd_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.904 0.024 5.928 ; + END + END wd_in[40] + PIN wd_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.048 0.024 6.072 ; + END + END wd_in[41] + PIN wd_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.192 0.024 6.216 ; + END + END wd_in[42] + PIN wd_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.336 0.024 6.360 ; + END + END wd_in[43] + PIN wd_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.480 0.024 6.504 ; + END + END wd_in[44] + PIN wd_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.624 0.024 6.648 ; + END + END wd_in[45] + PIN wd_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.768 0.024 6.792 ; + END + END wd_in[46] + PIN wd_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.912 0.024 6.936 ; + END + END wd_in[47] + PIN wd_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.056 0.024 7.080 ; + END + END wd_in[48] + PIN wd_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.200 0.024 7.224 ; + END + END wd_in[49] + PIN w_mask_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.344 0.024 7.368 ; + END + END w_mask_in[0] + PIN w_mask_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.488 0.024 7.512 ; + END + END w_mask_in[1] + PIN w_mask_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.632 0.024 7.656 ; + END + END w_mask_in[2] + PIN w_mask_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.776 0.024 7.800 ; + END + END w_mask_in[3] + PIN w_mask_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.920 0.024 7.944 ; + END + END w_mask_in[4] + PIN w_mask_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.064 0.024 8.088 ; + END + END w_mask_in[5] + PIN w_mask_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.208 0.024 8.232 ; + END + END w_mask_in[6] + PIN w_mask_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.352 0.024 8.376 ; + END + END w_mask_in[7] + PIN w_mask_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.496 0.024 8.520 ; + END + END w_mask_in[8] + PIN w_mask_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.640 0.024 8.664 ; + END + END w_mask_in[9] + PIN w_mask_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.784 0.024 8.808 ; + END + END w_mask_in[10] + PIN w_mask_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.928 0.024 8.952 ; + END + END w_mask_in[11] + PIN w_mask_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.072 0.024 9.096 ; + END + END w_mask_in[12] + PIN w_mask_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.216 0.024 9.240 ; + END + END w_mask_in[13] + PIN w_mask_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.360 0.024 9.384 ; + END + END w_mask_in[14] + PIN w_mask_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.504 0.024 9.528 ; + END + END w_mask_in[15] + PIN w_mask_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.648 0.024 9.672 ; + END + END w_mask_in[16] + PIN w_mask_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.792 0.024 9.816 ; + END + END w_mask_in[17] + PIN w_mask_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.936 0.024 9.960 ; + END + END w_mask_in[18] + PIN w_mask_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.080 0.024 10.104 ; + END + END w_mask_in[19] + PIN w_mask_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.224 0.024 10.248 ; + END + END w_mask_in[20] + PIN w_mask_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.368 0.024 10.392 ; + END + END w_mask_in[21] + PIN w_mask_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.512 0.024 10.536 ; + END + END w_mask_in[22] + PIN w_mask_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.656 0.024 10.680 ; + END + END w_mask_in[23] + PIN w_mask_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.800 0.024 10.824 ; + END + END w_mask_in[24] + PIN w_mask_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.944 0.024 10.968 ; + END + END w_mask_in[25] + PIN w_mask_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.088 0.024 11.112 ; + END + END w_mask_in[26] + PIN w_mask_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.232 0.024 11.256 ; + END + END w_mask_in[27] + PIN w_mask_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.376 0.024 11.400 ; + END + END w_mask_in[28] + PIN w_mask_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.520 0.024 11.544 ; + END + END w_mask_in[29] + PIN w_mask_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.664 0.024 11.688 ; + END + END w_mask_in[30] + PIN w_mask_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.808 0.024 11.832 ; + END + END w_mask_in[31] + PIN w_mask_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.952 0.024 11.976 ; + END + END w_mask_in[32] + PIN w_mask_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.096 0.024 12.120 ; + END + END w_mask_in[33] + PIN w_mask_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.240 0.024 12.264 ; + END + END w_mask_in[34] + PIN w_mask_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.384 0.024 12.408 ; + END + END w_mask_in[35] + PIN w_mask_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.528 0.024 12.552 ; + END + END w_mask_in[36] + PIN w_mask_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.672 0.024 12.696 ; + END + END w_mask_in[37] + PIN w_mask_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.816 0.024 12.840 ; + END + END w_mask_in[38] + PIN w_mask_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.960 0.024 12.984 ; + END + END w_mask_in[39] + PIN w_mask_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.104 0.024 13.128 ; + END + END w_mask_in[40] + PIN w_mask_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.248 0.024 13.272 ; + END + END w_mask_in[41] + PIN w_mask_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.392 0.024 13.416 ; + END + END w_mask_in[42] + PIN w_mask_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.536 0.024 13.560 ; + END + END w_mask_in[43] + PIN w_mask_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.680 0.024 13.704 ; + END + END w_mask_in[44] + PIN w_mask_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.824 0.024 13.848 ; + END + END w_mask_in[45] + PIN w_mask_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.968 0.024 13.992 ; + END + END w_mask_in[46] + PIN w_mask_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.112 0.024 14.136 ; + END + END w_mask_in[47] + PIN w_mask_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.256 0.024 14.280 ; + END + END w_mask_in[48] + PIN w_mask_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.400 0.024 14.424 ; + END + END w_mask_in[49] + PIN addr_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.544 0.024 14.568 ; + END + END addr_in[0] + PIN addr_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.688 0.024 14.712 ; + END + END addr_in[1] + PIN addr_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.832 0.024 14.856 ; + END + END addr_in[2] + PIN addr_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.976 0.024 15.000 ; + END + END addr_in[3] + PIN addr_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.120 0.024 15.144 ; + END + END addr_in[4] + PIN addr_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.264 0.024 15.288 ; + END + END addr_in[5] + PIN rd_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.408 0.024 15.432 ; + END + END rd_out[0] + PIN rd_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.552 0.024 15.576 ; + END + END rd_out[1] + PIN rd_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.696 0.024 15.720 ; + END + END rd_out[2] + PIN rd_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.840 0.024 15.864 ; + END + END rd_out[3] + PIN rd_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.984 0.024 16.008 ; + END + END rd_out[4] + PIN rd_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.128 0.024 16.152 ; + END + END rd_out[5] + PIN rd_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.272 0.024 16.296 ; + END + END rd_out[6] + PIN rd_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.416 0.024 16.440 ; + END + END rd_out[7] + PIN rd_out[8] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.560 0.024 16.584 ; + END + END rd_out[8] + PIN rd_out[9] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.704 0.024 16.728 ; + END + END rd_out[9] + PIN rd_out[10] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.848 0.024 16.872 ; + END + END rd_out[10] + PIN rd_out[11] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.992 0.024 17.016 ; + END + END rd_out[11] + PIN rd_out[12] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.136 0.024 17.160 ; + END + END rd_out[12] + PIN rd_out[13] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.280 0.024 17.304 ; + END + END rd_out[13] + PIN rd_out[14] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.424 0.024 17.448 ; + END + END rd_out[14] + PIN rd_out[15] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.568 0.024 17.592 ; + END + END rd_out[15] + PIN rd_out[16] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.712 0.024 17.736 ; + END + END rd_out[16] + PIN rd_out[17] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.856 0.024 17.880 ; + END + END rd_out[17] + PIN rd_out[18] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.000 0.024 18.024 ; + END + END rd_out[18] + PIN rd_out[19] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.144 0.024 18.168 ; + END + END rd_out[19] + PIN rd_out[20] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.288 0.024 18.312 ; + END + END rd_out[20] + PIN rd_out[21] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.432 0.024 18.456 ; + END + END rd_out[21] + PIN rd_out[22] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.576 0.024 18.600 ; + END + END rd_out[22] + PIN rd_out[23] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.720 0.024 18.744 ; + END + END rd_out[23] + PIN rd_out[24] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.864 0.024 18.888 ; + END + END rd_out[24] + PIN rd_out[25] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.008 0.024 19.032 ; + END + END rd_out[25] + PIN rd_out[26] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.152 0.024 19.176 ; + END + END rd_out[26] + PIN rd_out[27] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.296 0.024 19.320 ; + END + END rd_out[27] + PIN rd_out[28] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.440 0.024 19.464 ; + END + END rd_out[28] + PIN rd_out[29] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.584 0.024 19.608 ; + END + END rd_out[29] + PIN rd_out[30] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.728 0.024 19.752 ; + END + END rd_out[30] + PIN rd_out[31] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.872 0.024 19.896 ; + END + END rd_out[31] + PIN rd_out[32] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.016 0.024 20.040 ; + END + END rd_out[32] + PIN rd_out[33] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.160 0.024 20.184 ; + END + END rd_out[33] + PIN rd_out[34] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.304 0.024 20.328 ; + END + END rd_out[34] + PIN rd_out[35] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.448 0.024 20.472 ; + END + END rd_out[35] + PIN rd_out[36] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.592 0.024 20.616 ; + END + END rd_out[36] + PIN rd_out[37] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.736 0.024 20.760 ; + END + END rd_out[37] + PIN rd_out[38] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.880 0.024 20.904 ; + END + END rd_out[38] + PIN rd_out[39] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.024 0.024 21.048 ; + END + END rd_out[39] + PIN rd_out[40] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.168 0.024 21.192 ; + END + END rd_out[40] + PIN rd_out[41] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.312 0.024 21.336 ; + END + END rd_out[41] + PIN rd_out[42] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.456 0.024 21.480 ; + END + END rd_out[42] + PIN rd_out[43] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.600 0.024 21.624 ; + END + END rd_out[43] + PIN rd_out[44] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.744 0.024 21.768 ; + END + END rd_out[44] + PIN rd_out[45] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.888 0.024 21.912 ; + END + END rd_out[45] + PIN rd_out[46] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.032 0.024 22.056 ; + END + END rd_out[46] + PIN rd_out[47] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.176 0.024 22.200 ; + END + END rd_out[47] + PIN rd_out[48] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.320 0.024 22.344 ; + END + END rd_out[48] + PIN rd_out[49] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.464 0.024 22.488 ; + END + END rd_out[49] + PIN clk + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.608 0.024 22.632 ; + END + END clk + PIN ce_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.752 0.024 22.776 ; + END + END ce_in + PIN we_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.896 0.024 22.920 ; + END + END we_in + OBS + LAYER M1 ; + RECT 0.000 0.000 56.592 28.350 ; + LAYER M2 ; + RECT 0.000 0.000 56.592 28.350 ; + LAYER M3 ; + RECT 0.000 0.000 56.592 28.350 ; + END +END fakeram_64x50_1rw +END LIBRARY diff --git a/designs/asap7/bp_processor/sram/lef/fakeram_8x174_1rw.lef b/designs/asap7/bp_processor/sram/lef/fakeram_8x174_1rw.lef new file mode 100644 index 0000000..5204893 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lef/fakeram_8x174_1rw.lef @@ -0,0 +1,4769 @@ +VERSION 5.7 ; +BUSBITCHARS "[]" ; +MACRO fakeram_8x174_1rw + FOREIGN fakeram_8x174_1rw 0 0 ; + SYMMETRY X Y R90 ; + SIZE 37.314 BY 76.680 ; + CLASS BLOCK ; + PIN wd_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.144 0.024 0.168 ; + END + END wd_in[0] + PIN wd_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.288 0.024 0.312 ; + END + END wd_in[1] + PIN wd_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.432 0.024 0.456 ; + END + END wd_in[2] + PIN wd_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.576 0.024 0.600 ; + END + END wd_in[3] + PIN wd_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.720 0.024 0.744 ; + END + END wd_in[4] + PIN wd_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 0.864 0.024 0.888 ; + END + END wd_in[5] + PIN wd_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.008 0.024 1.032 ; + END + END wd_in[6] + PIN wd_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.152 0.024 1.176 ; + END + END wd_in[7] + PIN wd_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.296 0.024 1.320 ; + END + END wd_in[8] + PIN wd_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.440 0.024 1.464 ; + END + END wd_in[9] + PIN wd_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.584 0.024 1.608 ; + END + END wd_in[10] + PIN wd_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.728 0.024 1.752 ; + END + END wd_in[11] + PIN wd_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 1.872 0.024 1.896 ; + END + END wd_in[12] + PIN wd_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.016 0.024 2.040 ; + END + END wd_in[13] + PIN wd_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.160 0.024 2.184 ; + END + END wd_in[14] + PIN wd_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.304 0.024 2.328 ; + END + END wd_in[15] + PIN wd_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.448 0.024 2.472 ; + END + END wd_in[16] + PIN wd_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.592 0.024 2.616 ; + END + END wd_in[17] + PIN wd_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.736 0.024 2.760 ; + END + END wd_in[18] + PIN wd_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 2.880 0.024 2.904 ; + END + END wd_in[19] + PIN wd_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.024 0.024 3.048 ; + END + END wd_in[20] + PIN wd_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.168 0.024 3.192 ; + END + END wd_in[21] + PIN wd_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.312 0.024 3.336 ; + END + END wd_in[22] + PIN wd_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.456 0.024 3.480 ; + END + END wd_in[23] + PIN wd_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.600 0.024 3.624 ; + END + END wd_in[24] + PIN wd_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.744 0.024 3.768 ; + END + END wd_in[25] + PIN wd_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 3.888 0.024 3.912 ; + END + END wd_in[26] + PIN wd_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.032 0.024 4.056 ; + END + END wd_in[27] + PIN wd_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.176 0.024 4.200 ; + END + END wd_in[28] + PIN wd_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.320 0.024 4.344 ; + END + END wd_in[29] + PIN wd_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.464 0.024 4.488 ; + END + END wd_in[30] + PIN wd_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.608 0.024 4.632 ; + END + END wd_in[31] + PIN wd_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.752 0.024 4.776 ; + END + END wd_in[32] + PIN wd_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 4.896 0.024 4.920 ; + END + END wd_in[33] + PIN wd_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.040 0.024 5.064 ; + END + END wd_in[34] + PIN wd_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.184 0.024 5.208 ; + END + END wd_in[35] + PIN wd_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.328 0.024 5.352 ; + END + END wd_in[36] + PIN wd_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.472 0.024 5.496 ; + END + END wd_in[37] + PIN wd_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.616 0.024 5.640 ; + END + END wd_in[38] + PIN wd_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.760 0.024 5.784 ; + END + END wd_in[39] + PIN wd_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 5.904 0.024 5.928 ; + END + END wd_in[40] + PIN wd_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.048 0.024 6.072 ; + END + END wd_in[41] + PIN wd_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.192 0.024 6.216 ; + END + END wd_in[42] + PIN wd_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.336 0.024 6.360 ; + END + END wd_in[43] + PIN wd_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.480 0.024 6.504 ; + END + END wd_in[44] + PIN wd_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.624 0.024 6.648 ; + END + END wd_in[45] + PIN wd_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.768 0.024 6.792 ; + END + END wd_in[46] + PIN wd_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 6.912 0.024 6.936 ; + END + END wd_in[47] + PIN wd_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.056 0.024 7.080 ; + END + END wd_in[48] + PIN wd_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.200 0.024 7.224 ; + END + END wd_in[49] + PIN wd_in[50] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.344 0.024 7.368 ; + END + END wd_in[50] + PIN wd_in[51] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.488 0.024 7.512 ; + END + END wd_in[51] + PIN wd_in[52] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.632 0.024 7.656 ; + END + END wd_in[52] + PIN wd_in[53] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.776 0.024 7.800 ; + END + END wd_in[53] + PIN wd_in[54] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 7.920 0.024 7.944 ; + END + END wd_in[54] + PIN wd_in[55] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.064 0.024 8.088 ; + END + END wd_in[55] + PIN wd_in[56] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.208 0.024 8.232 ; + END + END wd_in[56] + PIN wd_in[57] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.352 0.024 8.376 ; + END + END wd_in[57] + PIN wd_in[58] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.496 0.024 8.520 ; + END + END wd_in[58] + PIN wd_in[59] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.640 0.024 8.664 ; + END + END wd_in[59] + PIN wd_in[60] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.784 0.024 8.808 ; + END + END wd_in[60] + PIN wd_in[61] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 8.928 0.024 8.952 ; + END + END wd_in[61] + PIN wd_in[62] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.072 0.024 9.096 ; + END + END wd_in[62] + PIN wd_in[63] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.216 0.024 9.240 ; + END + END wd_in[63] + PIN wd_in[64] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.360 0.024 9.384 ; + END + END wd_in[64] + PIN wd_in[65] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.504 0.024 9.528 ; + END + END wd_in[65] + PIN wd_in[66] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.648 0.024 9.672 ; + END + END wd_in[66] + PIN wd_in[67] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.792 0.024 9.816 ; + END + END wd_in[67] + PIN wd_in[68] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 9.936 0.024 9.960 ; + END + END wd_in[68] + PIN wd_in[69] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.080 0.024 10.104 ; + END + END wd_in[69] + PIN wd_in[70] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.224 0.024 10.248 ; + END + END wd_in[70] + PIN wd_in[71] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.368 0.024 10.392 ; + END + END wd_in[71] + PIN wd_in[72] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.512 0.024 10.536 ; + END + END wd_in[72] + PIN wd_in[73] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.656 0.024 10.680 ; + END + END wd_in[73] + PIN wd_in[74] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.800 0.024 10.824 ; + END + END wd_in[74] + PIN wd_in[75] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 10.944 0.024 10.968 ; + END + END wd_in[75] + PIN wd_in[76] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.088 0.024 11.112 ; + END + END wd_in[76] + PIN wd_in[77] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.232 0.024 11.256 ; + END + END wd_in[77] + PIN wd_in[78] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.376 0.024 11.400 ; + END + END wd_in[78] + PIN wd_in[79] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.520 0.024 11.544 ; + END + END wd_in[79] + PIN wd_in[80] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.664 0.024 11.688 ; + END + END wd_in[80] + PIN wd_in[81] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.808 0.024 11.832 ; + END + END wd_in[81] + PIN wd_in[82] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 11.952 0.024 11.976 ; + END + END wd_in[82] + PIN wd_in[83] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.096 0.024 12.120 ; + END + END wd_in[83] + PIN wd_in[84] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.240 0.024 12.264 ; + END + END wd_in[84] + PIN wd_in[85] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.384 0.024 12.408 ; + END + END wd_in[85] + PIN wd_in[86] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.528 0.024 12.552 ; + END + END wd_in[86] + PIN wd_in[87] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.672 0.024 12.696 ; + END + END wd_in[87] + PIN wd_in[88] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.816 0.024 12.840 ; + END + END wd_in[88] + PIN wd_in[89] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 12.960 0.024 12.984 ; + END + END wd_in[89] + PIN wd_in[90] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.104 0.024 13.128 ; + END + END wd_in[90] + PIN wd_in[91] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.248 0.024 13.272 ; + END + END wd_in[91] + PIN wd_in[92] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.392 0.024 13.416 ; + END + END wd_in[92] + PIN wd_in[93] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.536 0.024 13.560 ; + END + END wd_in[93] + PIN wd_in[94] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.680 0.024 13.704 ; + END + END wd_in[94] + PIN wd_in[95] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.824 0.024 13.848 ; + END + END wd_in[95] + PIN wd_in[96] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 13.968 0.024 13.992 ; + END + END wd_in[96] + PIN wd_in[97] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.112 0.024 14.136 ; + END + END wd_in[97] + PIN wd_in[98] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.256 0.024 14.280 ; + END + END wd_in[98] + PIN wd_in[99] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.400 0.024 14.424 ; + END + END wd_in[99] + PIN wd_in[100] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.544 0.024 14.568 ; + END + END wd_in[100] + PIN wd_in[101] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.688 0.024 14.712 ; + END + END wd_in[101] + PIN wd_in[102] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.832 0.024 14.856 ; + END + END wd_in[102] + PIN wd_in[103] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 14.976 0.024 15.000 ; + END + END wd_in[103] + PIN wd_in[104] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.120 0.024 15.144 ; + END + END wd_in[104] + PIN wd_in[105] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.264 0.024 15.288 ; + END + END wd_in[105] + PIN wd_in[106] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.408 0.024 15.432 ; + END + END wd_in[106] + PIN wd_in[107] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.552 0.024 15.576 ; + END + END wd_in[107] + PIN wd_in[108] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.696 0.024 15.720 ; + END + END wd_in[108] + PIN wd_in[109] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.840 0.024 15.864 ; + END + END wd_in[109] + PIN wd_in[110] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 15.984 0.024 16.008 ; + END + END wd_in[110] + PIN wd_in[111] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.128 0.024 16.152 ; + END + END wd_in[111] + PIN wd_in[112] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.272 0.024 16.296 ; + END + END wd_in[112] + PIN wd_in[113] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.416 0.024 16.440 ; + END + END wd_in[113] + PIN wd_in[114] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.560 0.024 16.584 ; + END + END wd_in[114] + PIN wd_in[115] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.704 0.024 16.728 ; + END + END wd_in[115] + PIN wd_in[116] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.848 0.024 16.872 ; + END + END wd_in[116] + PIN wd_in[117] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 16.992 0.024 17.016 ; + END + END wd_in[117] + PIN wd_in[118] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.136 0.024 17.160 ; + END + END wd_in[118] + PIN wd_in[119] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.280 0.024 17.304 ; + END + END wd_in[119] + PIN wd_in[120] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.424 0.024 17.448 ; + END + END wd_in[120] + PIN wd_in[121] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.568 0.024 17.592 ; + END + END wd_in[121] + PIN wd_in[122] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.712 0.024 17.736 ; + END + END wd_in[122] + PIN wd_in[123] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 17.856 0.024 17.880 ; + END + END wd_in[123] + PIN wd_in[124] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.000 0.024 18.024 ; + END + END wd_in[124] + PIN wd_in[125] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.144 0.024 18.168 ; + END + END wd_in[125] + PIN wd_in[126] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.288 0.024 18.312 ; + END + END wd_in[126] + PIN wd_in[127] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.432 0.024 18.456 ; + END + END wd_in[127] + PIN wd_in[128] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.576 0.024 18.600 ; + END + END wd_in[128] + PIN wd_in[129] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.720 0.024 18.744 ; + END + END wd_in[129] + PIN wd_in[130] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 18.864 0.024 18.888 ; + END + END wd_in[130] + PIN wd_in[131] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.008 0.024 19.032 ; + END + END wd_in[131] + PIN wd_in[132] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.152 0.024 19.176 ; + END + END wd_in[132] + PIN wd_in[133] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.296 0.024 19.320 ; + END + END wd_in[133] + PIN wd_in[134] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.440 0.024 19.464 ; + END + END wd_in[134] + PIN wd_in[135] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.584 0.024 19.608 ; + END + END wd_in[135] + PIN wd_in[136] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.728 0.024 19.752 ; + END + END wd_in[136] + PIN wd_in[137] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 19.872 0.024 19.896 ; + END + END wd_in[137] + PIN wd_in[138] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.016 0.024 20.040 ; + END + END wd_in[138] + PIN wd_in[139] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.160 0.024 20.184 ; + END + END wd_in[139] + PIN wd_in[140] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.304 0.024 20.328 ; + END + END wd_in[140] + PIN wd_in[141] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.448 0.024 20.472 ; + END + END wd_in[141] + PIN wd_in[142] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.592 0.024 20.616 ; + END + END wd_in[142] + PIN wd_in[143] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.736 0.024 20.760 ; + END + END wd_in[143] + PIN wd_in[144] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 20.880 0.024 20.904 ; + END + END wd_in[144] + PIN wd_in[145] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.024 0.024 21.048 ; + END + END wd_in[145] + PIN wd_in[146] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.168 0.024 21.192 ; + END + END wd_in[146] + PIN wd_in[147] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.312 0.024 21.336 ; + END + END wd_in[147] + PIN wd_in[148] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.456 0.024 21.480 ; + END + END wd_in[148] + PIN wd_in[149] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.600 0.024 21.624 ; + END + END wd_in[149] + PIN wd_in[150] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.744 0.024 21.768 ; + END + END wd_in[150] + PIN wd_in[151] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 21.888 0.024 21.912 ; + END + END wd_in[151] + PIN wd_in[152] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.032 0.024 22.056 ; + END + END wd_in[152] + PIN wd_in[153] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.176 0.024 22.200 ; + END + END wd_in[153] + PIN wd_in[154] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.320 0.024 22.344 ; + END + END wd_in[154] + PIN wd_in[155] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.464 0.024 22.488 ; + END + END wd_in[155] + PIN wd_in[156] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.608 0.024 22.632 ; + END + END wd_in[156] + PIN wd_in[157] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.752 0.024 22.776 ; + END + END wd_in[157] + PIN wd_in[158] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 22.896 0.024 22.920 ; + END + END wd_in[158] + PIN wd_in[159] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.040 0.024 23.064 ; + END + END wd_in[159] + PIN wd_in[160] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.184 0.024 23.208 ; + END + END wd_in[160] + PIN wd_in[161] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.328 0.024 23.352 ; + END + END wd_in[161] + PIN wd_in[162] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.472 0.024 23.496 ; + END + END wd_in[162] + PIN wd_in[163] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.616 0.024 23.640 ; + END + END wd_in[163] + PIN wd_in[164] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.760 0.024 23.784 ; + END + END wd_in[164] + PIN wd_in[165] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 23.904 0.024 23.928 ; + END + END wd_in[165] + PIN wd_in[166] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.048 0.024 24.072 ; + END + END wd_in[166] + PIN wd_in[167] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.192 0.024 24.216 ; + END + END wd_in[167] + PIN wd_in[168] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.336 0.024 24.360 ; + END + END wd_in[168] + PIN wd_in[169] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.480 0.024 24.504 ; + END + END wd_in[169] + PIN wd_in[170] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.624 0.024 24.648 ; + END + END wd_in[170] + PIN wd_in[171] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.768 0.024 24.792 ; + END + END wd_in[171] + PIN wd_in[172] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 24.912 0.024 24.936 ; + END + END wd_in[172] + PIN wd_in[173] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.056 0.024 25.080 ; + END + END wd_in[173] + PIN w_mask_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.200 0.024 25.224 ; + END + END w_mask_in[0] + PIN w_mask_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.344 0.024 25.368 ; + END + END w_mask_in[1] + PIN w_mask_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.488 0.024 25.512 ; + END + END w_mask_in[2] + PIN w_mask_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.632 0.024 25.656 ; + END + END w_mask_in[3] + PIN w_mask_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.776 0.024 25.800 ; + END + END w_mask_in[4] + PIN w_mask_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 25.920 0.024 25.944 ; + END + END w_mask_in[5] + PIN w_mask_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.064 0.024 26.088 ; + END + END w_mask_in[6] + PIN w_mask_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.208 0.024 26.232 ; + END + END w_mask_in[7] + PIN w_mask_in[8] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.352 0.024 26.376 ; + END + END w_mask_in[8] + PIN w_mask_in[9] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.496 0.024 26.520 ; + END + END w_mask_in[9] + PIN w_mask_in[10] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.640 0.024 26.664 ; + END + END w_mask_in[10] + PIN w_mask_in[11] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.784 0.024 26.808 ; + END + END w_mask_in[11] + PIN w_mask_in[12] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 26.928 0.024 26.952 ; + END + END w_mask_in[12] + PIN w_mask_in[13] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.072 0.024 27.096 ; + END + END w_mask_in[13] + PIN w_mask_in[14] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.216 0.024 27.240 ; + END + END w_mask_in[14] + PIN w_mask_in[15] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.360 0.024 27.384 ; + END + END w_mask_in[15] + PIN w_mask_in[16] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.504 0.024 27.528 ; + END + END w_mask_in[16] + PIN w_mask_in[17] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.648 0.024 27.672 ; + END + END w_mask_in[17] + PIN w_mask_in[18] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.792 0.024 27.816 ; + END + END w_mask_in[18] + PIN w_mask_in[19] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 27.936 0.024 27.960 ; + END + END w_mask_in[19] + PIN w_mask_in[20] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.080 0.024 28.104 ; + END + END w_mask_in[20] + PIN w_mask_in[21] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.224 0.024 28.248 ; + END + END w_mask_in[21] + PIN w_mask_in[22] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.368 0.024 28.392 ; + END + END w_mask_in[22] + PIN w_mask_in[23] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.512 0.024 28.536 ; + END + END w_mask_in[23] + PIN w_mask_in[24] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.656 0.024 28.680 ; + END + END w_mask_in[24] + PIN w_mask_in[25] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.800 0.024 28.824 ; + END + END w_mask_in[25] + PIN w_mask_in[26] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 28.944 0.024 28.968 ; + END + END w_mask_in[26] + PIN w_mask_in[27] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.088 0.024 29.112 ; + END + END w_mask_in[27] + PIN w_mask_in[28] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.232 0.024 29.256 ; + END + END w_mask_in[28] + PIN w_mask_in[29] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.376 0.024 29.400 ; + END + END w_mask_in[29] + PIN w_mask_in[30] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.520 0.024 29.544 ; + END + END w_mask_in[30] + PIN w_mask_in[31] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.664 0.024 29.688 ; + END + END w_mask_in[31] + PIN w_mask_in[32] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.808 0.024 29.832 ; + END + END w_mask_in[32] + PIN w_mask_in[33] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 29.952 0.024 29.976 ; + END + END w_mask_in[33] + PIN w_mask_in[34] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.096 0.024 30.120 ; + END + END w_mask_in[34] + PIN w_mask_in[35] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.240 0.024 30.264 ; + END + END w_mask_in[35] + PIN w_mask_in[36] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.384 0.024 30.408 ; + END + END w_mask_in[36] + PIN w_mask_in[37] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.528 0.024 30.552 ; + END + END w_mask_in[37] + PIN w_mask_in[38] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.672 0.024 30.696 ; + END + END w_mask_in[38] + PIN w_mask_in[39] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.816 0.024 30.840 ; + END + END w_mask_in[39] + PIN w_mask_in[40] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 30.960 0.024 30.984 ; + END + END w_mask_in[40] + PIN w_mask_in[41] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.104 0.024 31.128 ; + END + END w_mask_in[41] + PIN w_mask_in[42] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.248 0.024 31.272 ; + END + END w_mask_in[42] + PIN w_mask_in[43] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.392 0.024 31.416 ; + END + END w_mask_in[43] + PIN w_mask_in[44] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.536 0.024 31.560 ; + END + END w_mask_in[44] + PIN w_mask_in[45] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.680 0.024 31.704 ; + END + END w_mask_in[45] + PIN w_mask_in[46] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.824 0.024 31.848 ; + END + END w_mask_in[46] + PIN w_mask_in[47] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 31.968 0.024 31.992 ; + END + END w_mask_in[47] + PIN w_mask_in[48] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.112 0.024 32.136 ; + END + END w_mask_in[48] + PIN w_mask_in[49] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.256 0.024 32.280 ; + END + END w_mask_in[49] + PIN w_mask_in[50] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.400 0.024 32.424 ; + END + END w_mask_in[50] + PIN w_mask_in[51] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.544 0.024 32.568 ; + END + END w_mask_in[51] + PIN w_mask_in[52] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.688 0.024 32.712 ; + END + END w_mask_in[52] + PIN w_mask_in[53] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.832 0.024 32.856 ; + END + END w_mask_in[53] + PIN w_mask_in[54] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 32.976 0.024 33.000 ; + END + END w_mask_in[54] + PIN w_mask_in[55] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.120 0.024 33.144 ; + END + END w_mask_in[55] + PIN w_mask_in[56] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.264 0.024 33.288 ; + END + END w_mask_in[56] + PIN w_mask_in[57] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.408 0.024 33.432 ; + END + END w_mask_in[57] + PIN w_mask_in[58] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.552 0.024 33.576 ; + END + END w_mask_in[58] + PIN w_mask_in[59] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.696 0.024 33.720 ; + END + END w_mask_in[59] + PIN w_mask_in[60] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.840 0.024 33.864 ; + END + END w_mask_in[60] + PIN w_mask_in[61] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 33.984 0.024 34.008 ; + END + END w_mask_in[61] + PIN w_mask_in[62] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.128 0.024 34.152 ; + END + END w_mask_in[62] + PIN w_mask_in[63] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.272 0.024 34.296 ; + END + END w_mask_in[63] + PIN w_mask_in[64] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.416 0.024 34.440 ; + END + END w_mask_in[64] + PIN w_mask_in[65] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.560 0.024 34.584 ; + END + END w_mask_in[65] + PIN w_mask_in[66] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.704 0.024 34.728 ; + END + END w_mask_in[66] + PIN w_mask_in[67] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.848 0.024 34.872 ; + END + END w_mask_in[67] + PIN w_mask_in[68] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 34.992 0.024 35.016 ; + END + END w_mask_in[68] + PIN w_mask_in[69] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.136 0.024 35.160 ; + END + END w_mask_in[69] + PIN w_mask_in[70] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.280 0.024 35.304 ; + END + END w_mask_in[70] + PIN w_mask_in[71] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.424 0.024 35.448 ; + END + END w_mask_in[71] + PIN w_mask_in[72] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.568 0.024 35.592 ; + END + END w_mask_in[72] + PIN w_mask_in[73] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.712 0.024 35.736 ; + END + END w_mask_in[73] + PIN w_mask_in[74] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 35.856 0.024 35.880 ; + END + END w_mask_in[74] + PIN w_mask_in[75] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.000 0.024 36.024 ; + END + END w_mask_in[75] + PIN w_mask_in[76] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.144 0.024 36.168 ; + END + END w_mask_in[76] + PIN w_mask_in[77] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.288 0.024 36.312 ; + END + END w_mask_in[77] + PIN w_mask_in[78] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.432 0.024 36.456 ; + END + END w_mask_in[78] + PIN w_mask_in[79] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.576 0.024 36.600 ; + END + END w_mask_in[79] + PIN w_mask_in[80] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.720 0.024 36.744 ; + END + END w_mask_in[80] + PIN w_mask_in[81] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 36.864 0.024 36.888 ; + END + END w_mask_in[81] + PIN w_mask_in[82] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.008 0.024 37.032 ; + END + END w_mask_in[82] + PIN w_mask_in[83] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.152 0.024 37.176 ; + END + END w_mask_in[83] + PIN w_mask_in[84] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.296 0.024 37.320 ; + END + END w_mask_in[84] + PIN w_mask_in[85] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.440 0.024 37.464 ; + END + END w_mask_in[85] + PIN w_mask_in[86] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.584 0.024 37.608 ; + END + END w_mask_in[86] + PIN w_mask_in[87] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.728 0.024 37.752 ; + END + END w_mask_in[87] + PIN w_mask_in[88] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 37.872 0.024 37.896 ; + END + END w_mask_in[88] + PIN w_mask_in[89] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.016 0.024 38.040 ; + END + END w_mask_in[89] + PIN w_mask_in[90] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.160 0.024 38.184 ; + END + END w_mask_in[90] + PIN w_mask_in[91] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.304 0.024 38.328 ; + END + END w_mask_in[91] + PIN w_mask_in[92] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.448 0.024 38.472 ; + END + END w_mask_in[92] + PIN w_mask_in[93] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.592 0.024 38.616 ; + END + END w_mask_in[93] + PIN w_mask_in[94] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.736 0.024 38.760 ; + END + END w_mask_in[94] + PIN w_mask_in[95] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 38.880 0.024 38.904 ; + END + END w_mask_in[95] + PIN w_mask_in[96] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.024 0.024 39.048 ; + END + END w_mask_in[96] + PIN w_mask_in[97] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.168 0.024 39.192 ; + END + END w_mask_in[97] + PIN w_mask_in[98] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.312 0.024 39.336 ; + END + END w_mask_in[98] + PIN w_mask_in[99] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.456 0.024 39.480 ; + END + END w_mask_in[99] + PIN w_mask_in[100] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.600 0.024 39.624 ; + END + END w_mask_in[100] + PIN w_mask_in[101] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.744 0.024 39.768 ; + END + END w_mask_in[101] + PIN w_mask_in[102] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 39.888 0.024 39.912 ; + END + END w_mask_in[102] + PIN w_mask_in[103] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.032 0.024 40.056 ; + END + END w_mask_in[103] + PIN w_mask_in[104] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.176 0.024 40.200 ; + END + END w_mask_in[104] + PIN w_mask_in[105] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.320 0.024 40.344 ; + END + END w_mask_in[105] + PIN w_mask_in[106] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.464 0.024 40.488 ; + END + END w_mask_in[106] + PIN w_mask_in[107] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.608 0.024 40.632 ; + END + END w_mask_in[107] + PIN w_mask_in[108] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.752 0.024 40.776 ; + END + END w_mask_in[108] + PIN w_mask_in[109] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 40.896 0.024 40.920 ; + END + END w_mask_in[109] + PIN w_mask_in[110] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.040 0.024 41.064 ; + END + END w_mask_in[110] + PIN w_mask_in[111] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.184 0.024 41.208 ; + END + END w_mask_in[111] + PIN w_mask_in[112] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.328 0.024 41.352 ; + END + END w_mask_in[112] + PIN w_mask_in[113] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.472 0.024 41.496 ; + END + END w_mask_in[113] + PIN w_mask_in[114] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.616 0.024 41.640 ; + END + END w_mask_in[114] + PIN w_mask_in[115] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.760 0.024 41.784 ; + END + END w_mask_in[115] + PIN w_mask_in[116] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 41.904 0.024 41.928 ; + END + END w_mask_in[116] + PIN w_mask_in[117] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.048 0.024 42.072 ; + END + END w_mask_in[117] + PIN w_mask_in[118] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.192 0.024 42.216 ; + END + END w_mask_in[118] + PIN w_mask_in[119] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.336 0.024 42.360 ; + END + END w_mask_in[119] + PIN w_mask_in[120] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.480 0.024 42.504 ; + END + END w_mask_in[120] + PIN w_mask_in[121] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.624 0.024 42.648 ; + END + END w_mask_in[121] + PIN w_mask_in[122] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.768 0.024 42.792 ; + END + END w_mask_in[122] + PIN w_mask_in[123] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 42.912 0.024 42.936 ; + END + END w_mask_in[123] + PIN w_mask_in[124] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.056 0.024 43.080 ; + END + END w_mask_in[124] + PIN w_mask_in[125] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.200 0.024 43.224 ; + END + END w_mask_in[125] + PIN w_mask_in[126] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.344 0.024 43.368 ; + END + END w_mask_in[126] + PIN w_mask_in[127] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.488 0.024 43.512 ; + END + END w_mask_in[127] + PIN w_mask_in[128] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.632 0.024 43.656 ; + END + END w_mask_in[128] + PIN w_mask_in[129] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.776 0.024 43.800 ; + END + END w_mask_in[129] + PIN w_mask_in[130] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 43.920 0.024 43.944 ; + END + END w_mask_in[130] + PIN w_mask_in[131] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.064 0.024 44.088 ; + END + END w_mask_in[131] + PIN w_mask_in[132] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.208 0.024 44.232 ; + END + END w_mask_in[132] + PIN w_mask_in[133] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.352 0.024 44.376 ; + END + END w_mask_in[133] + PIN w_mask_in[134] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.496 0.024 44.520 ; + END + END w_mask_in[134] + PIN w_mask_in[135] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.640 0.024 44.664 ; + END + END w_mask_in[135] + PIN w_mask_in[136] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.784 0.024 44.808 ; + END + END w_mask_in[136] + PIN w_mask_in[137] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 44.928 0.024 44.952 ; + END + END w_mask_in[137] + PIN w_mask_in[138] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.072 0.024 45.096 ; + END + END w_mask_in[138] + PIN w_mask_in[139] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.216 0.024 45.240 ; + END + END w_mask_in[139] + PIN w_mask_in[140] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.360 0.024 45.384 ; + END + END w_mask_in[140] + PIN w_mask_in[141] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.504 0.024 45.528 ; + END + END w_mask_in[141] + PIN w_mask_in[142] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.648 0.024 45.672 ; + END + END w_mask_in[142] + PIN w_mask_in[143] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.792 0.024 45.816 ; + END + END w_mask_in[143] + PIN w_mask_in[144] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 45.936 0.024 45.960 ; + END + END w_mask_in[144] + PIN w_mask_in[145] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.080 0.024 46.104 ; + END + END w_mask_in[145] + PIN w_mask_in[146] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.224 0.024 46.248 ; + END + END w_mask_in[146] + PIN w_mask_in[147] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.368 0.024 46.392 ; + END + END w_mask_in[147] + PIN w_mask_in[148] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.512 0.024 46.536 ; + END + END w_mask_in[148] + PIN w_mask_in[149] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.656 0.024 46.680 ; + END + END w_mask_in[149] + PIN w_mask_in[150] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.800 0.024 46.824 ; + END + END w_mask_in[150] + PIN w_mask_in[151] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 46.944 0.024 46.968 ; + END + END w_mask_in[151] + PIN w_mask_in[152] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.088 0.024 47.112 ; + END + END w_mask_in[152] + PIN w_mask_in[153] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.232 0.024 47.256 ; + END + END w_mask_in[153] + PIN w_mask_in[154] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.376 0.024 47.400 ; + END + END w_mask_in[154] + PIN w_mask_in[155] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.520 0.024 47.544 ; + END + END w_mask_in[155] + PIN w_mask_in[156] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.664 0.024 47.688 ; + END + END w_mask_in[156] + PIN w_mask_in[157] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.808 0.024 47.832 ; + END + END w_mask_in[157] + PIN w_mask_in[158] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 47.952 0.024 47.976 ; + END + END w_mask_in[158] + PIN w_mask_in[159] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.096 0.024 48.120 ; + END + END w_mask_in[159] + PIN w_mask_in[160] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.240 0.024 48.264 ; + END + END w_mask_in[160] + PIN w_mask_in[161] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.384 0.024 48.408 ; + END + END w_mask_in[161] + PIN w_mask_in[162] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.528 0.024 48.552 ; + END + END w_mask_in[162] + PIN w_mask_in[163] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.672 0.024 48.696 ; + END + END w_mask_in[163] + PIN w_mask_in[164] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.816 0.024 48.840 ; + END + END w_mask_in[164] + PIN w_mask_in[165] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 48.960 0.024 48.984 ; + END + END w_mask_in[165] + PIN w_mask_in[166] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.104 0.024 49.128 ; + END + END w_mask_in[166] + PIN w_mask_in[167] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.248 0.024 49.272 ; + END + END w_mask_in[167] + PIN w_mask_in[168] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.392 0.024 49.416 ; + END + END w_mask_in[168] + PIN w_mask_in[169] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.536 0.024 49.560 ; + END + END w_mask_in[169] + PIN w_mask_in[170] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.680 0.024 49.704 ; + END + END w_mask_in[170] + PIN w_mask_in[171] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.824 0.024 49.848 ; + END + END w_mask_in[171] + PIN w_mask_in[172] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 49.968 0.024 49.992 ; + END + END w_mask_in[172] + PIN w_mask_in[173] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.112 0.024 50.136 ; + END + END w_mask_in[173] + PIN addr_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.256 0.024 50.280 ; + END + END addr_in[0] + PIN addr_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.400 0.024 50.424 ; + END + END addr_in[1] + PIN addr_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.544 0.024 50.568 ; + END + END addr_in[2] + PIN rd_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.688 0.024 50.712 ; + END + END rd_out[0] + PIN rd_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.832 0.024 50.856 ; + END + END rd_out[1] + PIN rd_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 50.976 0.024 51.000 ; + END + END rd_out[2] + PIN rd_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.120 0.024 51.144 ; + END + END rd_out[3] + PIN rd_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.264 0.024 51.288 ; + END + END rd_out[4] + PIN rd_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.408 0.024 51.432 ; + END + END rd_out[5] + PIN rd_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.552 0.024 51.576 ; + END + END rd_out[6] + PIN rd_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.696 0.024 51.720 ; + END + END rd_out[7] + PIN rd_out[8] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.840 0.024 51.864 ; + END + END rd_out[8] + PIN rd_out[9] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 51.984 0.024 52.008 ; + END + END rd_out[9] + PIN rd_out[10] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.128 0.024 52.152 ; + END + END rd_out[10] + PIN rd_out[11] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.272 0.024 52.296 ; + END + END rd_out[11] + PIN rd_out[12] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.416 0.024 52.440 ; + END + END rd_out[12] + PIN rd_out[13] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.560 0.024 52.584 ; + END + END rd_out[13] + PIN rd_out[14] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.704 0.024 52.728 ; + END + END rd_out[14] + PIN rd_out[15] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.848 0.024 52.872 ; + END + END rd_out[15] + PIN rd_out[16] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 52.992 0.024 53.016 ; + END + END rd_out[16] + PIN rd_out[17] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.136 0.024 53.160 ; + END + END rd_out[17] + PIN rd_out[18] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.280 0.024 53.304 ; + END + END rd_out[18] + PIN rd_out[19] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.424 0.024 53.448 ; + END + END rd_out[19] + PIN rd_out[20] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.568 0.024 53.592 ; + END + END rd_out[20] + PIN rd_out[21] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.712 0.024 53.736 ; + END + END rd_out[21] + PIN rd_out[22] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 53.856 0.024 53.880 ; + END + END rd_out[22] + PIN rd_out[23] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.000 0.024 54.024 ; + END + END rd_out[23] + PIN rd_out[24] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.144 0.024 54.168 ; + END + END rd_out[24] + PIN rd_out[25] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.288 0.024 54.312 ; + END + END rd_out[25] + PIN rd_out[26] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.432 0.024 54.456 ; + END + END rd_out[26] + PIN rd_out[27] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.576 0.024 54.600 ; + END + END rd_out[27] + PIN rd_out[28] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.720 0.024 54.744 ; + END + END rd_out[28] + PIN rd_out[29] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 54.864 0.024 54.888 ; + END + END rd_out[29] + PIN rd_out[30] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.008 0.024 55.032 ; + END + END rd_out[30] + PIN rd_out[31] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.152 0.024 55.176 ; + END + END rd_out[31] + PIN rd_out[32] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.296 0.024 55.320 ; + END + END rd_out[32] + PIN rd_out[33] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.440 0.024 55.464 ; + END + END rd_out[33] + PIN rd_out[34] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.584 0.024 55.608 ; + END + END rd_out[34] + PIN rd_out[35] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.728 0.024 55.752 ; + END + END rd_out[35] + PIN rd_out[36] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 55.872 0.024 55.896 ; + END + END rd_out[36] + PIN rd_out[37] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.016 0.024 56.040 ; + END + END rd_out[37] + PIN rd_out[38] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.160 0.024 56.184 ; + END + END rd_out[38] + PIN rd_out[39] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.304 0.024 56.328 ; + END + END rd_out[39] + PIN rd_out[40] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.448 0.024 56.472 ; + END + END rd_out[40] + PIN rd_out[41] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.592 0.024 56.616 ; + END + END rd_out[41] + PIN rd_out[42] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.736 0.024 56.760 ; + END + END rd_out[42] + PIN rd_out[43] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 56.880 0.024 56.904 ; + END + END rd_out[43] + PIN rd_out[44] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.024 0.024 57.048 ; + END + END rd_out[44] + PIN rd_out[45] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.168 0.024 57.192 ; + END + END rd_out[45] + PIN rd_out[46] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.312 0.024 57.336 ; + END + END rd_out[46] + PIN rd_out[47] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.456 0.024 57.480 ; + END + END rd_out[47] + PIN rd_out[48] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.600 0.024 57.624 ; + END + END rd_out[48] + PIN rd_out[49] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.744 0.024 57.768 ; + END + END rd_out[49] + PIN rd_out[50] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 57.888 0.024 57.912 ; + END + END rd_out[50] + PIN rd_out[51] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.032 0.024 58.056 ; + END + END rd_out[51] + PIN rd_out[52] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.176 0.024 58.200 ; + END + END rd_out[52] + PIN rd_out[53] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.320 0.024 58.344 ; + END + END rd_out[53] + PIN rd_out[54] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.464 0.024 58.488 ; + END + END rd_out[54] + PIN rd_out[55] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.608 0.024 58.632 ; + END + END rd_out[55] + PIN rd_out[56] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.752 0.024 58.776 ; + END + END rd_out[56] + PIN rd_out[57] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 58.896 0.024 58.920 ; + END + END rd_out[57] + PIN rd_out[58] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.040 0.024 59.064 ; + END + END rd_out[58] + PIN rd_out[59] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.184 0.024 59.208 ; + END + END rd_out[59] + PIN rd_out[60] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.328 0.024 59.352 ; + END + END rd_out[60] + PIN rd_out[61] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.472 0.024 59.496 ; + END + END rd_out[61] + PIN rd_out[62] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.616 0.024 59.640 ; + END + END rd_out[62] + PIN rd_out[63] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.760 0.024 59.784 ; + END + END rd_out[63] + PIN rd_out[64] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 59.904 0.024 59.928 ; + END + END rd_out[64] + PIN rd_out[65] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.048 0.024 60.072 ; + END + END rd_out[65] + PIN rd_out[66] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.192 0.024 60.216 ; + END + END rd_out[66] + PIN rd_out[67] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.336 0.024 60.360 ; + END + END rd_out[67] + PIN rd_out[68] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.480 0.024 60.504 ; + END + END rd_out[68] + PIN rd_out[69] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.624 0.024 60.648 ; + END + END rd_out[69] + PIN rd_out[70] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.768 0.024 60.792 ; + END + END rd_out[70] + PIN rd_out[71] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 60.912 0.024 60.936 ; + END + END rd_out[71] + PIN rd_out[72] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.056 0.024 61.080 ; + END + END rd_out[72] + PIN rd_out[73] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.200 0.024 61.224 ; + END + END rd_out[73] + PIN rd_out[74] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.344 0.024 61.368 ; + END + END rd_out[74] + PIN rd_out[75] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.488 0.024 61.512 ; + END + END rd_out[75] + PIN rd_out[76] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.632 0.024 61.656 ; + END + END rd_out[76] + PIN rd_out[77] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.776 0.024 61.800 ; + END + END rd_out[77] + PIN rd_out[78] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 61.920 0.024 61.944 ; + END + END rd_out[78] + PIN rd_out[79] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.064 0.024 62.088 ; + END + END rd_out[79] + PIN rd_out[80] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.208 0.024 62.232 ; + END + END rd_out[80] + PIN rd_out[81] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.352 0.024 62.376 ; + END + END rd_out[81] + PIN rd_out[82] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.496 0.024 62.520 ; + END + END rd_out[82] + PIN rd_out[83] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.640 0.024 62.664 ; + END + END rd_out[83] + PIN rd_out[84] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.784 0.024 62.808 ; + END + END rd_out[84] + PIN rd_out[85] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 62.928 0.024 62.952 ; + END + END rd_out[85] + PIN rd_out[86] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.072 0.024 63.096 ; + END + END rd_out[86] + PIN rd_out[87] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.216 0.024 63.240 ; + END + END rd_out[87] + PIN rd_out[88] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.360 0.024 63.384 ; + END + END rd_out[88] + PIN rd_out[89] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.504 0.024 63.528 ; + END + END rd_out[89] + PIN rd_out[90] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.648 0.024 63.672 ; + END + END rd_out[90] + PIN rd_out[91] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.792 0.024 63.816 ; + END + END rd_out[91] + PIN rd_out[92] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 63.936 0.024 63.960 ; + END + END rd_out[92] + PIN rd_out[93] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.080 0.024 64.104 ; + END + END rd_out[93] + PIN rd_out[94] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.224 0.024 64.248 ; + END + END rd_out[94] + PIN rd_out[95] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.368 0.024 64.392 ; + END + END rd_out[95] + PIN rd_out[96] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.512 0.024 64.536 ; + END + END rd_out[96] + PIN rd_out[97] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.656 0.024 64.680 ; + END + END rd_out[97] + PIN rd_out[98] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.800 0.024 64.824 ; + END + END rd_out[98] + PIN rd_out[99] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 64.944 0.024 64.968 ; + END + END rd_out[99] + PIN rd_out[100] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.088 0.024 65.112 ; + END + END rd_out[100] + PIN rd_out[101] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.232 0.024 65.256 ; + END + END rd_out[101] + PIN rd_out[102] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.376 0.024 65.400 ; + END + END rd_out[102] + PIN rd_out[103] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.520 0.024 65.544 ; + END + END rd_out[103] + PIN rd_out[104] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.664 0.024 65.688 ; + END + END rd_out[104] + PIN rd_out[105] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.808 0.024 65.832 ; + END + END rd_out[105] + PIN rd_out[106] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 65.952 0.024 65.976 ; + END + END rd_out[106] + PIN rd_out[107] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.096 0.024 66.120 ; + END + END rd_out[107] + PIN rd_out[108] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.240 0.024 66.264 ; + END + END rd_out[108] + PIN rd_out[109] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.384 0.024 66.408 ; + END + END rd_out[109] + PIN rd_out[110] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.528 0.024 66.552 ; + END + END rd_out[110] + PIN rd_out[111] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.672 0.024 66.696 ; + END + END rd_out[111] + PIN rd_out[112] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.816 0.024 66.840 ; + END + END rd_out[112] + PIN rd_out[113] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 66.960 0.024 66.984 ; + END + END rd_out[113] + PIN rd_out[114] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.104 0.024 67.128 ; + END + END rd_out[114] + PIN rd_out[115] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.248 0.024 67.272 ; + END + END rd_out[115] + PIN rd_out[116] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.392 0.024 67.416 ; + END + END rd_out[116] + PIN rd_out[117] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.536 0.024 67.560 ; + END + END rd_out[117] + PIN rd_out[118] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.680 0.024 67.704 ; + END + END rd_out[118] + PIN rd_out[119] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.824 0.024 67.848 ; + END + END rd_out[119] + PIN rd_out[120] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 67.968 0.024 67.992 ; + END + END rd_out[120] + PIN rd_out[121] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.112 0.024 68.136 ; + END + END rd_out[121] + PIN rd_out[122] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.256 0.024 68.280 ; + END + END rd_out[122] + PIN rd_out[123] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.400 0.024 68.424 ; + END + END rd_out[123] + PIN rd_out[124] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.544 0.024 68.568 ; + END + END rd_out[124] + PIN rd_out[125] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.688 0.024 68.712 ; + END + END rd_out[125] + PIN rd_out[126] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.832 0.024 68.856 ; + END + END rd_out[126] + PIN rd_out[127] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 68.976 0.024 69.000 ; + END + END rd_out[127] + PIN rd_out[128] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.120 0.024 69.144 ; + END + END rd_out[128] + PIN rd_out[129] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.264 0.024 69.288 ; + END + END rd_out[129] + PIN rd_out[130] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.408 0.024 69.432 ; + END + END rd_out[130] + PIN rd_out[131] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.552 0.024 69.576 ; + END + END rd_out[131] + PIN rd_out[132] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.696 0.024 69.720 ; + END + END rd_out[132] + PIN rd_out[133] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.840 0.024 69.864 ; + END + END rd_out[133] + PIN rd_out[134] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 69.984 0.024 70.008 ; + END + END rd_out[134] + PIN rd_out[135] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.128 0.024 70.152 ; + END + END rd_out[135] + PIN rd_out[136] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.272 0.024 70.296 ; + END + END rd_out[136] + PIN rd_out[137] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.416 0.024 70.440 ; + END + END rd_out[137] + PIN rd_out[138] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.560 0.024 70.584 ; + END + END rd_out[138] + PIN rd_out[139] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.704 0.024 70.728 ; + END + END rd_out[139] + PIN rd_out[140] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.848 0.024 70.872 ; + END + END rd_out[140] + PIN rd_out[141] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 70.992 0.024 71.016 ; + END + END rd_out[141] + PIN rd_out[142] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.136 0.024 71.160 ; + END + END rd_out[142] + PIN rd_out[143] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.280 0.024 71.304 ; + END + END rd_out[143] + PIN rd_out[144] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.424 0.024 71.448 ; + END + END rd_out[144] + PIN rd_out[145] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.568 0.024 71.592 ; + END + END rd_out[145] + PIN rd_out[146] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.712 0.024 71.736 ; + END + END rd_out[146] + PIN rd_out[147] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 71.856 0.024 71.880 ; + END + END rd_out[147] + PIN rd_out[148] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.000 0.024 72.024 ; + END + END rd_out[148] + PIN rd_out[149] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.144 0.024 72.168 ; + END + END rd_out[149] + PIN rd_out[150] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.288 0.024 72.312 ; + END + END rd_out[150] + PIN rd_out[151] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.432 0.024 72.456 ; + END + END rd_out[151] + PIN rd_out[152] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.576 0.024 72.600 ; + END + END rd_out[152] + PIN rd_out[153] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.720 0.024 72.744 ; + END + END rd_out[153] + PIN rd_out[154] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 72.864 0.024 72.888 ; + END + END rd_out[154] + PIN rd_out[155] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.008 0.024 73.032 ; + END + END rd_out[155] + PIN rd_out[156] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.152 0.024 73.176 ; + END + END rd_out[156] + PIN rd_out[157] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.296 0.024 73.320 ; + END + END rd_out[157] + PIN rd_out[158] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.440 0.024 73.464 ; + END + END rd_out[158] + PIN rd_out[159] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.584 0.024 73.608 ; + END + END rd_out[159] + PIN rd_out[160] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.728 0.024 73.752 ; + END + END rd_out[160] + PIN rd_out[161] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 73.872 0.024 73.896 ; + END + END rd_out[161] + PIN rd_out[162] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.016 0.024 74.040 ; + END + END rd_out[162] + PIN rd_out[163] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.160 0.024 74.184 ; + END + END rd_out[163] + PIN rd_out[164] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.304 0.024 74.328 ; + END + END rd_out[164] + PIN rd_out[165] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.448 0.024 74.472 ; + END + END rd_out[165] + PIN rd_out[166] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.592 0.024 74.616 ; + END + END rd_out[166] + PIN rd_out[167] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.736 0.024 74.760 ; + END + END rd_out[167] + PIN rd_out[168] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 74.880 0.024 74.904 ; + END + END rd_out[168] + PIN rd_out[169] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.024 0.024 75.048 ; + END + END rd_out[169] + PIN rd_out[170] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.168 0.024 75.192 ; + END + END rd_out[170] + PIN rd_out[171] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.312 0.024 75.336 ; + END + END rd_out[171] + PIN rd_out[172] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.456 0.024 75.480 ; + END + END rd_out[172] + PIN rd_out[173] + DIRECTION OUTPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.600 0.024 75.624 ; + END + END rd_out[173] + PIN clk + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.744 0.024 75.768 ; + END + END clk + PIN ce_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 75.888 0.024 75.912 ; + END + END ce_in + PIN we_in + DIRECTION INPUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER M4 ; + RECT 0.000 76.032 0.024 76.056 ; + END + END we_in + OBS + LAYER M1 ; + RECT 0.000 0.000 37.314 76.680 ; + LAYER M2 ; + RECT 0.000 0.000 37.314 76.680 ; + LAYER M3 ; + RECT 0.000 0.000 37.314 76.680 ; + END +END fakeram_8x174_1rw +END LIBRARY diff --git a/designs/asap7/bp_processor/sram/lib/fakeram_128x8_1rw.lib b/designs/asap7/bp_processor/sram/lib/fakeram_128x8_1rw.lib new file mode 100644 index 0000000..d9ac65e --- /dev/null +++ b/designs/asap7/bp_processor/sram/lib/fakeram_128x8_1rw.lib @@ -0,0 +1,240 @@ +library(fakeram_128x8_1rw) { + technology (cmos); + delay_model : table_lookup; + revision : 1.0; + date : "2025-01-01 00:00:00Z"; + comment : "SRAM"; + time_unit : "1ns"; + voltage_unit : "1V"; + current_unit : "1uA"; + leakage_power_unit : "1uW"; + nom_process : 1; + nom_temperature : 25.000; + nom_voltage : 0.7; + capacitive_load_unit (1,pf); + pulling_resistance_unit : "1kohm"; + operating_conditions(tt_0.7_25.0) { + process : 1; + temperature : 25.000; + voltage : 0.7; + tree_type : balanced_tree; + } + default_cell_leakage_power : 0; + default_fanout_load : 1; + default_inout_pin_cap : 0.0; + default_input_pin_cap : 0.0; + default_output_pin_cap : 0.0; + default_max_transition : 0.227; + default_operating_conditions : tt_0.7_25.0; + default_leakage_power_density : 0.0; + slew_derate_from_library : 1.000; + slew_lower_threshold_pct_fall : 20.000; + slew_upper_threshold_pct_fall : 80.000; + slew_lower_threshold_pct_rise : 20.000; + slew_upper_threshold_pct_rise : 80.000; + input_threshold_pct_fall : 50.000; + input_threshold_pct_rise : 50.000; + output_threshold_pct_fall : 50.000; + output_threshold_pct_rise : 50.000; + lu_table_template(fakeram_128x8_1rw_delay) { + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + lu_table_template(fakeram_128x8_1rw_slew) { + variable_1 : total_output_net_capacitance; + index_1 ("1000, 1001"); + } + lu_table_template(fakeram_128x8_1rw_constraint) { + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + library_features(report_delay_calculation); + type (fakeram_128x8_1rw_DATA) { + base_type : array; data_type : bit; + bit_width : 8; bit_from : 7; bit_to : 0; downto : true; + } + type (fakeram_128x8_1rw_ADDR) { + base_type : array; data_type : bit; + bit_width : 7; bit_from : 6; bit_to : 0; downto : true; + } + cell(fakeram_128x8_1rw) { + area : 518.756; + interface_timing : true; + dont_use : true; + dont_touch : true; + pin(clk) { direction : input; capacitance : 0.0214; clock : true; } + pin(ce_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + pin(we_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(addr_in) { + bus_type : fakeram_128x8_1rw_ADDR; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(wd_in) { + bus_type : fakeram_128x8_1rw_DATA; + direction : input; + capacitance : 0.0035; + memory_write() { address : addr_in; clocked_on : "clk"; } + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(w_mask_in) { + bus_type : fakeram_128x8_1rw_DATA; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_128x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(rd_out) { + bus_type : fakeram_128x8_1rw_DATA; + direction : output; + max_capacitance : 0.500; + memory_read() { address : addr_in; } + timing() { + related_pin : "clk"; + timing_type : rising_edge; + timing_sense : non_unate; + cell_rise(fakeram_128x8_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + cell_fall(fakeram_128x8_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + rise_transition(fakeram_128x8_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + fall_transition(fakeram_128x8_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + } + } + } +} diff --git a/designs/asap7/bp_processor/sram/lib/fakeram_32x48_1rw.lib b/designs/asap7/bp_processor/sram/lib/fakeram_32x48_1rw.lib new file mode 100644 index 0000000..9b4f415 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lib/fakeram_32x48_1rw.lib @@ -0,0 +1,240 @@ +library(fakeram_32x48_1rw) { + technology (cmos); + delay_model : table_lookup; + revision : 1.0; + date : "2025-01-01 00:00:00Z"; + comment : "SRAM"; + time_unit : "1ns"; + voltage_unit : "1V"; + current_unit : "1uA"; + leakage_power_unit : "1uW"; + nom_process : 1; + nom_temperature : 25.000; + nom_voltage : 0.7; + capacitive_load_unit (1,pf); + pulling_resistance_unit : "1kohm"; + operating_conditions(tt_0.7_25.0) { + process : 1; + temperature : 25.000; + voltage : 0.7; + tree_type : balanced_tree; + } + default_cell_leakage_power : 0; + default_fanout_load : 1; + default_inout_pin_cap : 0.0; + default_input_pin_cap : 0.0; + default_output_pin_cap : 0.0; + default_max_transition : 0.227; + default_operating_conditions : tt_0.7_25.0; + default_leakage_power_density : 0.0; + slew_derate_from_library : 1.000; + slew_lower_threshold_pct_fall : 20.000; + slew_upper_threshold_pct_fall : 80.000; + slew_lower_threshold_pct_rise : 20.000; + slew_upper_threshold_pct_rise : 80.000; + input_threshold_pct_fall : 50.000; + input_threshold_pct_rise : 50.000; + output_threshold_pct_fall : 50.000; + output_threshold_pct_rise : 50.000; + lu_table_template(fakeram_32x48_1rw_delay) { + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + lu_table_template(fakeram_32x48_1rw_slew) { + variable_1 : total_output_net_capacitance; + index_1 ("1000, 1001"); + } + lu_table_template(fakeram_32x48_1rw_constraint) { + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + library_features(report_delay_calculation); + type (fakeram_32x48_1rw_DATA) { + base_type : array; data_type : bit; + bit_width : 48; bit_from : 47; bit_to : 0; downto : true; + } + type (fakeram_32x48_1rw_ADDR) { + base_type : array; data_type : bit; + bit_width : 5; bit_from : 4; bit_to : 0; downto : true; + } + cell(fakeram_32x48_1rw) { + area : 889.147; + interface_timing : true; + dont_use : true; + dont_touch : true; + pin(clk) { direction : input; capacitance : 0.0214; clock : true; } + pin(ce_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + pin(we_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(addr_in) { + bus_type : fakeram_32x48_1rw_ADDR; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(wd_in) { + bus_type : fakeram_32x48_1rw_DATA; + direction : input; + capacitance : 0.0035; + memory_write() { address : addr_in; clocked_on : "clk"; } + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(w_mask_in) { + bus_type : fakeram_32x48_1rw_DATA; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x48_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(rd_out) { + bus_type : fakeram_32x48_1rw_DATA; + direction : output; + max_capacitance : 0.500; + memory_read() { address : addr_in; } + timing() { + related_pin : "clk"; + timing_type : rising_edge; + timing_sense : non_unate; + cell_rise(fakeram_32x48_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + cell_fall(fakeram_32x48_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + rise_transition(fakeram_32x48_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + fall_transition(fakeram_32x48_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + } + } + } +} diff --git a/designs/asap7/bp_processor/sram/lib/fakeram_32x66_1rw.lib b/designs/asap7/bp_processor/sram/lib/fakeram_32x66_1rw.lib new file mode 100644 index 0000000..aff1865 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lib/fakeram_32x66_1rw.lib @@ -0,0 +1,240 @@ +library(fakeram_32x66_1rw) { + technology (cmos); + delay_model : table_lookup; + revision : 1.0; + date : "2025-01-01 00:00:00Z"; + comment : "SRAM"; + time_unit : "1ns"; + voltage_unit : "1V"; + current_unit : "1uA"; + leakage_power_unit : "1uW"; + nom_process : 1; + nom_temperature : 25.000; + nom_voltage : 0.7; + capacitive_load_unit (1,pf); + pulling_resistance_unit : "1kohm"; + operating_conditions(tt_0.7_25.0) { + process : 1; + temperature : 25.000; + voltage : 0.7; + tree_type : balanced_tree; + } + default_cell_leakage_power : 0; + default_fanout_load : 1; + default_inout_pin_cap : 0.0; + default_input_pin_cap : 0.0; + default_output_pin_cap : 0.0; + default_max_transition : 0.227; + default_operating_conditions : tt_0.7_25.0; + default_leakage_power_density : 0.0; + slew_derate_from_library : 1.000; + slew_lower_threshold_pct_fall : 20.000; + slew_upper_threshold_pct_fall : 80.000; + slew_lower_threshold_pct_rise : 20.000; + slew_upper_threshold_pct_rise : 80.000; + input_threshold_pct_fall : 50.000; + input_threshold_pct_rise : 50.000; + output_threshold_pct_fall : 50.000; + output_threshold_pct_rise : 50.000; + lu_table_template(fakeram_32x66_1rw_delay) { + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + lu_table_template(fakeram_32x66_1rw_slew) { + variable_1 : total_output_net_capacitance; + index_1 ("1000, 1001"); + } + lu_table_template(fakeram_32x66_1rw_constraint) { + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + library_features(report_delay_calculation); + type (fakeram_32x66_1rw_DATA) { + base_type : array; data_type : bit; + bit_width : 66; bit_from : 65; bit_to : 0; downto : true; + } + type (fakeram_32x66_1rw_ADDR) { + base_type : array; data_type : bit; + bit_width : 5; bit_from : 4; bit_to : 0; downto : true; + } + cell(fakeram_32x66_1rw) { + area : 1391.282; + interface_timing : true; + dont_use : true; + dont_touch : true; + pin(clk) { direction : input; capacitance : 0.0214; clock : true; } + pin(ce_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + pin(we_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(addr_in) { + bus_type : fakeram_32x66_1rw_ADDR; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(wd_in) { + bus_type : fakeram_32x66_1rw_DATA; + direction : input; + capacitance : 0.0035; + memory_write() { address : addr_in; clocked_on : "clk"; } + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(w_mask_in) { + bus_type : fakeram_32x66_1rw_DATA; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_32x66_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(rd_out) { + bus_type : fakeram_32x66_1rw_DATA; + direction : output; + max_capacitance : 0.500; + memory_read() { address : addr_in; } + timing() { + related_pin : "clk"; + timing_type : rising_edge; + timing_sense : non_unate; + cell_rise(fakeram_32x66_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + cell_fall(fakeram_32x66_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + rise_transition(fakeram_32x66_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + fall_transition(fakeram_32x66_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + } + } + } +} diff --git a/designs/asap7/bp_processor/sram/lib/fakeram_512x64_1rw.lib b/designs/asap7/bp_processor/sram/lib/fakeram_512x64_1rw.lib new file mode 100644 index 0000000..257b8f6 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lib/fakeram_512x64_1rw.lib @@ -0,0 +1,240 @@ +library(fakeram_512x64_1rw) { + technology (cmos); + delay_model : table_lookup; + revision : 1.0; + date : "2025-01-01 00:00:00Z"; + comment : "SRAM"; + time_unit : "1ns"; + voltage_unit : "1V"; + current_unit : "1uA"; + leakage_power_unit : "1uW"; + nom_process : 1; + nom_temperature : 25.000; + nom_voltage : 0.7; + capacitive_load_unit (1,pf); + pulling_resistance_unit : "1kohm"; + operating_conditions(tt_0.7_25.0) { + process : 1; + temperature : 25.000; + voltage : 0.7; + tree_type : balanced_tree; + } + default_cell_leakage_power : 0; + default_fanout_load : 1; + default_inout_pin_cap : 0.0; + default_input_pin_cap : 0.0; + default_output_pin_cap : 0.0; + default_max_transition : 0.227; + default_operating_conditions : tt_0.7_25.0; + default_leakage_power_density : 0.0; + slew_derate_from_library : 1.000; + slew_lower_threshold_pct_fall : 20.000; + slew_upper_threshold_pct_fall : 80.000; + slew_lower_threshold_pct_rise : 20.000; + slew_upper_threshold_pct_rise : 80.000; + input_threshold_pct_fall : 50.000; + input_threshold_pct_rise : 50.000; + output_threshold_pct_fall : 50.000; + output_threshold_pct_rise : 50.000; + lu_table_template(fakeram_512x64_1rw_delay) { + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + lu_table_template(fakeram_512x64_1rw_slew) { + variable_1 : total_output_net_capacitance; + index_1 ("1000, 1001"); + } + lu_table_template(fakeram_512x64_1rw_constraint) { + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + library_features(report_delay_calculation); + type (fakeram_512x64_1rw_DATA) { + base_type : array; data_type : bit; + bit_width : 64; bit_from : 63; bit_to : 0; downto : true; + } + type (fakeram_512x64_1rw_ADDR) { + base_type : array; data_type : bit; + bit_width : 9; bit_from : 8; bit_to : 0; downto : true; + } + cell(fakeram_512x64_1rw) { + area : 16425.945; + interface_timing : true; + dont_use : true; + dont_touch : true; + pin(clk) { direction : input; capacitance : 0.0214; clock : true; } + pin(ce_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + pin(we_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(addr_in) { + bus_type : fakeram_512x64_1rw_ADDR; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(wd_in) { + bus_type : fakeram_512x64_1rw_DATA; + direction : input; + capacitance : 0.0035; + memory_write() { address : addr_in; clocked_on : "clk"; } + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(w_mask_in) { + bus_type : fakeram_512x64_1rw_DATA; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x64_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(rd_out) { + bus_type : fakeram_512x64_1rw_DATA; + direction : output; + max_capacitance : 0.500; + memory_read() { address : addr_in; } + timing() { + related_pin : "clk"; + timing_type : rising_edge; + timing_sense : non_unate; + cell_rise(fakeram_512x64_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + cell_fall(fakeram_512x64_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + rise_transition(fakeram_512x64_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + fall_transition(fakeram_512x64_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + } + } + } +} diff --git a/designs/asap7/bp_processor/sram/lib/fakeram_512x8_1rw.lib b/designs/asap7/bp_processor/sram/lib/fakeram_512x8_1rw.lib new file mode 100644 index 0000000..5f4e6f0 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lib/fakeram_512x8_1rw.lib @@ -0,0 +1,240 @@ +library(fakeram_512x8_1rw) { + technology (cmos); + delay_model : table_lookup; + revision : 1.0; + date : "2025-01-01 00:00:00Z"; + comment : "SRAM"; + time_unit : "1ns"; + voltage_unit : "1V"; + current_unit : "1uA"; + leakage_power_unit : "1uW"; + nom_process : 1; + nom_temperature : 25.000; + nom_voltage : 0.7; + capacitive_load_unit (1,pf); + pulling_resistance_unit : "1kohm"; + operating_conditions(tt_0.7_25.0) { + process : 1; + temperature : 25.000; + voltage : 0.7; + tree_type : balanced_tree; + } + default_cell_leakage_power : 0; + default_fanout_load : 1; + default_inout_pin_cap : 0.0; + default_input_pin_cap : 0.0; + default_output_pin_cap : 0.0; + default_max_transition : 0.227; + default_operating_conditions : tt_0.7_25.0; + default_leakage_power_density : 0.0; + slew_derate_from_library : 1.000; + slew_lower_threshold_pct_fall : 20.000; + slew_upper_threshold_pct_fall : 80.000; + slew_lower_threshold_pct_rise : 20.000; + slew_upper_threshold_pct_rise : 80.000; + input_threshold_pct_fall : 50.000; + input_threshold_pct_rise : 50.000; + output_threshold_pct_fall : 50.000; + output_threshold_pct_rise : 50.000; + lu_table_template(fakeram_512x8_1rw_delay) { + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + lu_table_template(fakeram_512x8_1rw_slew) { + variable_1 : total_output_net_capacitance; + index_1 ("1000, 1001"); + } + lu_table_template(fakeram_512x8_1rw_constraint) { + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + library_features(report_delay_calculation); + type (fakeram_512x8_1rw_DATA) { + base_type : array; data_type : bit; + bit_width : 8; bit_from : 7; bit_to : 0; downto : true; + } + type (fakeram_512x8_1rw_ADDR) { + base_type : array; data_type : bit; + bit_width : 9; bit_from : 8; bit_to : 0; downto : true; + } + cell(fakeram_512x8_1rw) { + area : 2057.734; + interface_timing : true; + dont_use : true; + dont_touch : true; + pin(clk) { direction : input; capacitance : 0.0214; clock : true; } + pin(ce_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + pin(we_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(addr_in) { + bus_type : fakeram_512x8_1rw_ADDR; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(wd_in) { + bus_type : fakeram_512x8_1rw_DATA; + direction : input; + capacitance : 0.0035; + memory_write() { address : addr_in; clocked_on : "clk"; } + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(w_mask_in) { + bus_type : fakeram_512x8_1rw_DATA; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_512x8_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(rd_out) { + bus_type : fakeram_512x8_1rw_DATA; + direction : output; + max_capacitance : 0.500; + memory_read() { address : addr_in; } + timing() { + related_pin : "clk"; + timing_type : rising_edge; + timing_sense : non_unate; + cell_rise(fakeram_512x8_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + cell_fall(fakeram_512x8_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + rise_transition(fakeram_512x8_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + fall_transition(fakeram_512x8_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + } + } + } +} diff --git a/designs/asap7/bp_processor/sram/lib/fakeram_64x184_1rw.lib b/designs/asap7/bp_processor/sram/lib/fakeram_64x184_1rw.lib new file mode 100644 index 0000000..8b20a90 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lib/fakeram_64x184_1rw.lib @@ -0,0 +1,240 @@ +library(fakeram_64x184_1rw) { + technology (cmos); + delay_model : table_lookup; + revision : 1.0; + date : "2025-01-01 00:00:00Z"; + comment : "SRAM"; + time_unit : "1ns"; + voltage_unit : "1V"; + current_unit : "1uA"; + leakage_power_unit : "1uW"; + nom_process : 1; + nom_temperature : 25.000; + nom_voltage : 0.7; + capacitive_load_unit (1,pf); + pulling_resistance_unit : "1kohm"; + operating_conditions(tt_0.7_25.0) { + process : 1; + temperature : 25.000; + voltage : 0.7; + tree_type : balanced_tree; + } + default_cell_leakage_power : 0; + default_fanout_load : 1; + default_inout_pin_cap : 0.0; + default_input_pin_cap : 0.0; + default_output_pin_cap : 0.0; + default_max_transition : 0.227; + default_operating_conditions : tt_0.7_25.0; + default_leakage_power_density : 0.0; + slew_derate_from_library : 1.000; + slew_lower_threshold_pct_fall : 20.000; + slew_upper_threshold_pct_fall : 80.000; + slew_lower_threshold_pct_rise : 20.000; + slew_upper_threshold_pct_rise : 80.000; + input_threshold_pct_fall : 50.000; + input_threshold_pct_rise : 50.000; + output_threshold_pct_fall : 50.000; + output_threshold_pct_rise : 50.000; + lu_table_template(fakeram_64x184_1rw_delay) { + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + lu_table_template(fakeram_64x184_1rw_slew) { + variable_1 : total_output_net_capacitance; + index_1 ("1000, 1001"); + } + lu_table_template(fakeram_64x184_1rw_constraint) { + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + library_features(report_delay_calculation); + type (fakeram_64x184_1rw_DATA) { + base_type : array; data_type : bit; + bit_width : 184; bit_from : 183; bit_to : 0; downto : true; + } + type (fakeram_64x184_1rw_ADDR) { + base_type : array; data_type : bit; + bit_width : 6; bit_from : 5; bit_to : 0; downto : true; + } + cell(fakeram_64x184_1rw) { + area : 8850.352; + interface_timing : true; + dont_use : true; + dont_touch : true; + pin(clk) { direction : input; capacitance : 0.0214; clock : true; } + pin(ce_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + pin(we_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(addr_in) { + bus_type : fakeram_64x184_1rw_ADDR; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(wd_in) { + bus_type : fakeram_64x184_1rw_DATA; + direction : input; + capacitance : 0.0035; + memory_write() { address : addr_in; clocked_on : "clk"; } + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(w_mask_in) { + bus_type : fakeram_64x184_1rw_DATA; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x184_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(rd_out) { + bus_type : fakeram_64x184_1rw_DATA; + direction : output; + max_capacitance : 0.500; + memory_read() { address : addr_in; } + timing() { + related_pin : "clk"; + timing_type : rising_edge; + timing_sense : non_unate; + cell_rise(fakeram_64x184_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + cell_fall(fakeram_64x184_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + rise_transition(fakeram_64x184_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + fall_transition(fakeram_64x184_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + } + } + } +} diff --git a/designs/asap7/bp_processor/sram/lib/fakeram_64x50_1rw.lib b/designs/asap7/bp_processor/sram/lib/fakeram_64x50_1rw.lib new file mode 100644 index 0000000..bf22dab --- /dev/null +++ b/designs/asap7/bp_processor/sram/lib/fakeram_64x50_1rw.lib @@ -0,0 +1,240 @@ +library(fakeram_64x50_1rw) { + technology (cmos); + delay_model : table_lookup; + revision : 1.0; + date : "2025-01-01 00:00:00Z"; + comment : "SRAM"; + time_unit : "1ns"; + voltage_unit : "1V"; + current_unit : "1uA"; + leakage_power_unit : "1uW"; + nom_process : 1; + nom_temperature : 25.000; + nom_voltage : 0.7; + capacitive_load_unit (1,pf); + pulling_resistance_unit : "1kohm"; + operating_conditions(tt_0.7_25.0) { + process : 1; + temperature : 25.000; + voltage : 0.7; + tree_type : balanced_tree; + } + default_cell_leakage_power : 0; + default_fanout_load : 1; + default_inout_pin_cap : 0.0; + default_input_pin_cap : 0.0; + default_output_pin_cap : 0.0; + default_max_transition : 0.227; + default_operating_conditions : tt_0.7_25.0; + default_leakage_power_density : 0.0; + slew_derate_from_library : 1.000; + slew_lower_threshold_pct_fall : 20.000; + slew_upper_threshold_pct_fall : 80.000; + slew_lower_threshold_pct_rise : 20.000; + slew_upper_threshold_pct_rise : 80.000; + input_threshold_pct_fall : 50.000; + input_threshold_pct_rise : 50.000; + output_threshold_pct_fall : 50.000; + output_threshold_pct_rise : 50.000; + lu_table_template(fakeram_64x50_1rw_delay) { + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + lu_table_template(fakeram_64x50_1rw_slew) { + variable_1 : total_output_net_capacitance; + index_1 ("1000, 1001"); + } + lu_table_template(fakeram_64x50_1rw_constraint) { + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + library_features(report_delay_calculation); + type (fakeram_64x50_1rw_DATA) { + base_type : array; data_type : bit; + bit_width : 50; bit_from : 49; bit_to : 0; downto : true; + } + type (fakeram_64x50_1rw_ADDR) { + base_type : array; data_type : bit; + bit_width : 6; bit_from : 5; bit_to : 0; downto : true; + } + cell(fakeram_64x50_1rw) { + area : 1604.383; + interface_timing : true; + dont_use : true; + dont_touch : true; + pin(clk) { direction : input; capacitance : 0.0214; clock : true; } + pin(ce_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + pin(we_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(addr_in) { + bus_type : fakeram_64x50_1rw_ADDR; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(wd_in) { + bus_type : fakeram_64x50_1rw_DATA; + direction : input; + capacitance : 0.0035; + memory_write() { address : addr_in; clocked_on : "clk"; } + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(w_mask_in) { + bus_type : fakeram_64x50_1rw_DATA; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_64x50_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(rd_out) { + bus_type : fakeram_64x50_1rw_DATA; + direction : output; + max_capacitance : 0.500; + memory_read() { address : addr_in; } + timing() { + related_pin : "clk"; + timing_type : rising_edge; + timing_sense : non_unate; + cell_rise(fakeram_64x50_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + cell_fall(fakeram_64x50_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + rise_transition(fakeram_64x50_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + fall_transition(fakeram_64x50_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + } + } + } +} diff --git a/designs/asap7/bp_processor/sram/lib/fakeram_8x174_1rw.lib b/designs/asap7/bp_processor/sram/lib/fakeram_8x174_1rw.lib new file mode 100644 index 0000000..158e454 --- /dev/null +++ b/designs/asap7/bp_processor/sram/lib/fakeram_8x174_1rw.lib @@ -0,0 +1,240 @@ +library(fakeram_8x174_1rw) { + technology (cmos); + delay_model : table_lookup; + revision : 1.0; + date : "2025-01-01 00:00:00Z"; + comment : "SRAM"; + time_unit : "1ns"; + voltage_unit : "1V"; + current_unit : "1uA"; + leakage_power_unit : "1uW"; + nom_process : 1; + nom_temperature : 25.000; + nom_voltage : 0.7; + capacitive_load_unit (1,pf); + pulling_resistance_unit : "1kohm"; + operating_conditions(tt_0.7_25.0) { + process : 1; + temperature : 25.000; + voltage : 0.7; + tree_type : balanced_tree; + } + default_cell_leakage_power : 0; + default_fanout_load : 1; + default_inout_pin_cap : 0.0; + default_input_pin_cap : 0.0; + default_output_pin_cap : 0.0; + default_max_transition : 0.227; + default_operating_conditions : tt_0.7_25.0; + default_leakage_power_density : 0.0; + slew_derate_from_library : 1.000; + slew_lower_threshold_pct_fall : 20.000; + slew_upper_threshold_pct_fall : 80.000; + slew_lower_threshold_pct_rise : 20.000; + slew_upper_threshold_pct_rise : 80.000; + input_threshold_pct_fall : 50.000; + input_threshold_pct_rise : 50.000; + output_threshold_pct_fall : 50.000; + output_threshold_pct_rise : 50.000; + lu_table_template(fakeram_8x174_1rw_delay) { + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + lu_table_template(fakeram_8x174_1rw_slew) { + variable_1 : total_output_net_capacitance; + index_1 ("1000, 1001"); + } + lu_table_template(fakeram_8x174_1rw_constraint) { + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1 ("1000, 1001"); + index_2 ("1000, 1001"); + } + library_features(report_delay_calculation); + type (fakeram_8x174_1rw_DATA) { + base_type : array; data_type : bit; + bit_width : 174; bit_from : 173; bit_to : 0; downto : true; + } + type (fakeram_8x174_1rw_ADDR) { + base_type : array; data_type : bit; + bit_width : 3; bit_from : 2; bit_to : 0; downto : true; + } + cell(fakeram_8x174_1rw) { + area : 2861.238; + interface_timing : true; + dont_use : true; + dont_touch : true; + pin(clk) { direction : input; capacitance : 0.0214; clock : true; } + pin(ce_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + pin(we_in) { + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(addr_in) { + bus_type : fakeram_8x174_1rw_ADDR; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(wd_in) { + bus_type : fakeram_8x174_1rw_DATA; + direction : input; + capacitance : 0.0035; + memory_write() { address : addr_in; clocked_on : "clk"; } + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(w_mask_in) { + bus_type : fakeram_8x174_1rw_DATA; + direction : input; + capacitance : 0.0035; + timing() { + related_pin : "clk"; + timing_type : setup_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.050, 0.050", "0.050, 0.050"); + } + } + timing() { + related_pin : "clk"; + timing_type : hold_rising; + rise_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + fall_constraint(fakeram_8x174_1rw_constraint) { + index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100"); + values("0.005, 0.005", "0.005, 0.005"); + } + } + } + bus(rd_out) { + bus_type : fakeram_8x174_1rw_DATA; + direction : output; + max_capacitance : 0.500; + memory_read() { address : addr_in; } + timing() { + related_pin : "clk"; + timing_type : rising_edge; + timing_sense : non_unate; + cell_rise(fakeram_8x174_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + cell_fall(fakeram_8x174_1rw_delay) { + index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500"); + values("0.200, 0.800", "0.250, 0.850"); + } + rise_transition(fakeram_8x174_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + fall_transition(fakeram_8x174_1rw_slew) { + index_1 ("0.0005, 0.500"); values("0.015, 0.300"); + } + } + } + } +} diff --git a/designs/src/bp_processor/dev/gen_fakeram.py b/designs/src/bp_processor/dev/gen_fakeram.py new file mode 100644 index 0000000..721ad54 --- /dev/null +++ b/designs/src/bp_processor/dev/gen_fakeram.py @@ -0,0 +1,539 @@ +#!/usr/bin/env python3 +""" +Generate FakeRAM LEF/LIB files and macros.v for Black-Parrot SRAM memories. + +The bsg_mem_*_synth modules in Black-Parrot use parameterized register arrays. +Large instances (>= THRESHOLD bits) are mapped to FakeRAM macros to prevent +ABC synthesis from running out of memory. Small instances fall back to +register-array implementations that synthesize to flip-flops. + +Memory configurations are determined from Yosys memory analysis of the +bp_processor quad-core (e_bp_multicore_4_cfg) design. + +Usage: python3 gen_fakeram.py + +This script generates: + - sram_dir/lef/fakeram_DxW_1rw.lef for each large memory config + - sram_dir/lib/fakeram_DxW_1rw.lib for each large memory config + - macros.v with replacement bsg_mem_*_synth modules +""" +import math +import os +import sys + +# ── Memory configurations ──────────────────────────────────────────────── +# Threshold: memories with >= THRESHOLD bits get FakeRAM macros. +# Smaller memories synthesize as flip-flops (fine for ABC). +THRESHOLD_BITS = 1024 + +# Known large memory configurations from Yosys analysis of bp_processor +# quad-core. Format: (depth, width, count). +# These come from bsg_mem_1rw_sync_synth and bsg_mem_1rw_sync_mask_write_bit_synth. +# The byte-mask module (bsg_mem_1rw_sync_mask_write_byte_synth) decomposes into +# byte-wide bsg_mem_1rw_sync_synth instances (e.g., 512x64 byte-mask → 8x 512x8). +LARGE_CONFIGS = [ + (512, 64), # 32768 bits - data cache, instruction cache + (64, 184), # 11776 bits - TLB/tag arrays + (512, 8), # 4096 bits - byte lanes from byte-mask memories + (64, 50), # 3200 bits - tag arrays + (32, 66), # 2112 bits - small tag arrays + (32, 48), # 1536 bits - small tag arrays + (8, 174), # 1392 bits - TLB entries + (128, 8), # 1024 bits - byte lanes from byte-mask memories +] + + +def fakeram_name(depth, width): + return f"fakeram_{depth}x{width}_1rw" + + +# ── LEF generation ─────────────────────────────────────────────────────── +def gen_lef(name, width, depth, outdir): + addr_bits = max(1, math.ceil(math.log2(depth))) if depth > 1 else 1 + + # ASAP7 grid constants + pin_w = 0.024 + pin_pitch = 0.144 + snap_w = 0.054 + snap_h = 0.270 + + # Estimate macro size from bit count + bits = width * depth + area = max(bits * 0.5, 100) + h = math.sqrt(area / 2.0) + w = area / h + w = math.ceil(w / snap_w) * snap_w + h = math.ceil(h / snap_h) * snap_h + + # Ensure enough height for all pins + total_pins = width * 3 + addr_bits + 3 # wd_in, w_mask_in, rd_out, addr_in, clk, ce, we + min_h = pin_pitch * (total_pins + 4) + if h < min_h: + h = math.ceil(min_h / snap_h) * snap_h + + lines = [ + "VERSION 5.7 ;", + 'BUSBITCHARS "[]" ;', + f"MACRO {name}", + f" FOREIGN {name} 0 0 ;", + " SYMMETRY X Y R90 ;", + f" SIZE {w:.3f} BY {h:.3f} ;", + " CLASS BLOCK ;", + ] + + y_pos = pin_pitch + + def add_pin(pname, direction): + nonlocal y_pos + lines.extend([ + f" PIN {pname}", + f" DIRECTION {direction} ;", + " USE SIGNAL ;", + " SHAPE ABUTMENT ;", + " PORT", + " LAYER M4 ;", + f" RECT 0.000 {y_pos:.3f} {pin_w:.3f} {y_pos + pin_w:.3f} ;", + " END", + f" END {pname}", + ]) + y_pos += pin_pitch + + for i in range(width): + add_pin(f"wd_in[{i}]", "INPUT") + for i in range(width): + add_pin(f"w_mask_in[{i}]", "INPUT") + for i in range(addr_bits): + add_pin(f"addr_in[{i}]", "INPUT") + for i in range(width): + add_pin(f"rd_out[{i}]", "OUTPUT") + add_pin("clk", "INPUT") + add_pin("ce_in", "INPUT") + add_pin("we_in", "INPUT") + + lines.extend([ + " OBS", + " LAYER M1 ;", + f" RECT 0.000 0.000 {w:.3f} {h:.3f} ;", + " LAYER M2 ;", + f" RECT 0.000 0.000 {w:.3f} {h:.3f} ;", + " LAYER M3 ;", + f" RECT 0.000 0.000 {w:.3f} {h:.3f} ;", + " END", + f"END {name}", + "END LIBRARY", + ]) + + path = os.path.join(outdir, "lef", f"{name}.lef") + with open(path, "w") as f: + f.write("\n".join(lines) + "\n") + return w, h + + +# ── LIB generation ─────────────────────────────────────────────────────── +def gen_lib(name, width, depth, outdir, w_um, h_um): + addr_bits = max(1, math.ceil(math.log2(depth))) if depth > 1 else 1 + area = w_um * h_um + + lines = [ + f"library({name}) {{", + " technology (cmos);", + " delay_model : table_lookup;", + " revision : 1.0;", + ' date : "2025-01-01 00:00:00Z";', + ' comment : "SRAM";', + ' time_unit : "1ns";', + ' voltage_unit : "1V";', + ' current_unit : "1uA";', + ' leakage_power_unit : "1uW";', + " nom_process : 1;", + " nom_temperature : 25.000;", + " nom_voltage : 0.7;", + ' capacitive_load_unit (1,pf);', + ' pulling_resistance_unit : "1kohm";', + " operating_conditions(tt_0.7_25.0) {", + " process : 1;", + " temperature : 25.000;", + " voltage : 0.7;", + " tree_type : balanced_tree;", + " }", + " default_cell_leakage_power : 0;", + " default_fanout_load : 1;", + " default_inout_pin_cap : 0.0;", + " default_input_pin_cap : 0.0;", + " default_output_pin_cap : 0.0;", + " default_max_transition : 0.227;", + " default_operating_conditions : tt_0.7_25.0;", + " default_leakage_power_density : 0.0;", + " slew_derate_from_library : 1.000;", + " slew_lower_threshold_pct_fall : 20.000;", + " slew_upper_threshold_pct_fall : 80.000;", + " slew_lower_threshold_pct_rise : 20.000;", + " slew_upper_threshold_pct_rise : 80.000;", + " input_threshold_pct_fall : 50.000;", + " input_threshold_pct_rise : 50.000;", + " output_threshold_pct_fall : 50.000;", + " output_threshold_pct_rise : 50.000;", + f" lu_table_template({name}_delay) {{", + " variable_1 : input_net_transition;", + " variable_2 : total_output_net_capacitance;", + ' index_1 ("1000, 1001");', + ' index_2 ("1000, 1001");', + " }", + f" lu_table_template({name}_slew) {{", + " variable_1 : total_output_net_capacitance;", + ' index_1 ("1000, 1001");', + " }", + f" lu_table_template({name}_constraint) {{", + " variable_1 : related_pin_transition;", + " variable_2 : constrained_pin_transition;", + ' index_1 ("1000, 1001");', + ' index_2 ("1000, 1001");', + " }", + " library_features(report_delay_calculation);", + f" type ({name}_DATA) {{", + " base_type : array; data_type : bit;", + f" bit_width : {width}; bit_from : {width-1}; bit_to : 0; downto : true;", + " }", + f" type ({name}_ADDR) {{", + " base_type : array; data_type : bit;", + f" bit_width : {addr_bits}; bit_from : {addr_bits-1}; bit_to : 0; downto : true;", + " }", + f" cell({name}) {{", + f" area : {area:.3f};", + " interface_timing : true;", + " dont_use : true;", + " dont_touch : true;", + " pin(clk) { direction : input; capacitance : 0.0214; clock : true; }", + ] + + def constraint_block(pin_name, direction, cap="0.0035", bus_type=None, extra=""): + block = [] + if bus_type: + block.append(f" bus({pin_name}) {{") + block.append(f" bus_type : {bus_type};") + else: + block.append(f" pin({pin_name}) {{") + block.append(f" direction : {direction};") + if direction == "input": + block.append(f" capacitance : {cap};") + if extra: + block.append(extra) + block.extend([ + " timing() {", + ' related_pin : "clk";', + " timing_type : setup_rising;", + f" rise_constraint({name}_constraint) {{", + ' index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100");', + ' values("0.050, 0.050", "0.050, 0.050");', + " }", + f" fall_constraint({name}_constraint) {{", + ' index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100");', + ' values("0.050, 0.050", "0.050, 0.050");', + " }", + " }", + " timing() {", + ' related_pin : "clk";', + " timing_type : hold_rising;", + f" rise_constraint({name}_constraint) {{", + ' index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100");', + ' values("0.005, 0.005", "0.005, 0.005");', + " }", + f" fall_constraint({name}_constraint) {{", + ' index_1 ("0.010, 0.100"); index_2 ("0.010, 0.100");', + ' values("0.005, 0.005", "0.005, 0.005");', + " }", + " }", + " }", + ]) + return block + + lines.extend(constraint_block("ce_in", "input")) + lines.extend(constraint_block("we_in", "input")) + lines.extend(constraint_block("addr_in", "input", bus_type=f"{name}_ADDR")) + lines.extend(constraint_block("wd_in", "input", bus_type=f"{name}_DATA", + extra=f' memory_write() {{ address : addr_in; clocked_on : "clk"; }}')) + lines.extend(constraint_block("w_mask_in", "input", bus_type=f"{name}_DATA")) + + lines.extend([ + f" bus(rd_out) {{", + f" bus_type : {name}_DATA;", + " direction : output;", + " max_capacitance : 0.500;", + " memory_read() { address : addr_in; }", + " timing() {", + ' related_pin : "clk";', + " timing_type : rising_edge;", + " timing_sense : non_unate;", + f" cell_rise({name}_delay) {{", + ' index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500");', + ' values("0.200, 0.800", "0.250, 0.850");', + " }", + f" cell_fall({name}_delay) {{", + ' index_1 ("0.010, 0.100"); index_2 ("0.0005, 0.500");', + ' values("0.200, 0.800", "0.250, 0.850");', + " }", + f" rise_transition({name}_slew) {{", + ' index_1 ("0.0005, 0.500"); values("0.015, 0.300");', + " }", + f" fall_transition({name}_slew) {{", + ' index_1 ("0.0005, 0.500"); values("0.015, 0.300");', + " }", + " }", + " }", + " }", + "}", + ]) + + path = os.path.join(outdir, "lib", f"{name}.lib") + with open(path, "w") as f: + f.write("\n".join(lines) + "\n") + + +# ── macros.v generation ────────────────────────────────────────────────── +def gen_macros(large_configs, macros_path): + """Generate macros.v with replacement bsg_mem_*_synth module definitions. + + Each module uses generate if/else to select between FakeRAM instantiation + (for large configs) and register-array fallback (for small configs). + """ + lines = [ + "// Auto-generated FakeRAM-backed bsg_mem_*_synth replacements.", + "// Large memories (>= %d bits) use FakeRAM macros." % THRESHOLD_BITS, + "// Small memories fall back to register-array implementation.", + "//", + "// Generated by gen_fakeram.py — do not edit manually.", + "", + ] + + # ── bsg_mem_1rw_sync_synth ──────────────────────────────────────── + lines.extend([ + "module bsg_mem_1rw_sync_synth (", + "\tclk_i,", + "\tv_i,", + "\treset_i,", + "\tdata_i,", + "\taddr_i,", + "\tw_i,", + "\tdata_o", + ");", + "\tparameter width_p = 0;", + "\tparameter els_p = 0;", + "\tparameter latch_last_read_p = 0;", + "\tparameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p));", + "\tparameter verbose_p = 1;", + "\tinput clk_i;", + "\tinput v_i;", + "\tinput reset_i;", + "\tinput [(width_p < 1 ? 0 : width_p - 1):0] data_i;", + "\tinput [addr_width_lp - 1:0] addr_i;", + "\tinput w_i;", + "\toutput wire [(width_p < 1 ? 0 : width_p - 1):0] data_o;", + "\twire unused = reset_i;", + "\tgenerate", + "\t\tif ((width_p == 0) || (els_p == 0)) begin : z", + "\t\t\twire unused0 = &{clk_i, v_i, data_i, addr_i, w_i};", + "\t\t\tassign data_o = 1'sb0;", + "\t\tend", + ]) + + # FakeRAM branches for each large config + for depth, width in large_configs: + fname = fakeram_name(depth, width) + addr_bits = max(1, math.ceil(math.log2(depth))) if depth > 1 else 1 + lines.extend([ + f"\t\telse if ((els_p == {depth}) && (width_p == {width})) begin : fakeram_{depth}x{width}", + f"\t\t\t{fname} mem (", + "\t\t\t\t.clk(clk_i),", + "\t\t\t\t.ce_in(v_i),", + "\t\t\t\t.we_in(w_i),", + f"\t\t\t\t.w_mask_in({{{width}{{w_i}}}}),", + "\t\t\t\t.addr_in(addr_i),", + "\t\t\t\t.wd_in(data_i),", + "\t\t\t\t.rd_out(data_o)", + "\t\t\t);", + "\t\tend", + ]) + + # Register-array fallback for small memories + lines.extend([ + "\t\telse begin : nz", + "\t\t\treg [addr_width_lp - 1:0] addr_r;", + "\t\t\treg [width_p - 1:0] mem [els_p - 1:0];", + "\t\t\twire read_en;", + "\t\t\twire [width_p - 1:0] data_out;", + "\t\t\twire [addr_width_lp - 1:0] addr_li = (els_p > 0 ? addr_i : {addr_width_lp {1'sb0}});", + "\t\t\tassign read_en = v_i & ~w_i;", + "\t\t\tassign data_out = mem[addr_r];", + "\t\t\talways @(posedge clk_i)", + "\t\t\t\tif (read_en)", + "\t\t\t\t\taddr_r <= addr_li;", + "\t\t\t\telse", + "\t\t\t\t\taddr_r <= 1'sbx;", + "\t\t\tif (latch_last_read_p) begin : llr", + "\t\t\t\twire read_en_r;", + "\t\t\t\tbsg_dff #(.width_p(1)) read_en_dff(", + "\t\t\t\t\t.clk_i(clk_i),", + "\t\t\t\t\t.data_i(read_en),", + "\t\t\t\t\t.data_o(read_en_r)", + "\t\t\t\t);", + "\t\t\t\tbsg_dff_en_bypass #(.width_p(width_p)) dff_bypass(", + "\t\t\t\t\t.clk_i(clk_i),", + "\t\t\t\t\t.en_i(read_en_r),", + "\t\t\t\t\t.data_i(data_out),", + "\t\t\t\t\t.data_o(data_o)", + "\t\t\t\t);", + "\t\t\tend", + "\t\t\telse begin : no_llr", + "\t\t\t\tassign data_o = data_out;", + "\t\t\tend", + "\t\t\talways @(posedge clk_i)", + "\t\t\t\tif (v_i & w_i)", + "\t\t\t\t\tmem[addr_li] <= data_i;", + "\t\tend", + "\tendgenerate", + "endmodule", + "", + ]) + + # ── bsg_mem_1rw_sync_mask_write_bit_synth ───────────────────────── + lines.extend([ + "module bsg_mem_1rw_sync_mask_write_bit_synth (", + "\tclk_i,", + "\treset_i,", + "\tdata_i,", + "\taddr_i,", + "\tv_i,", + "\tw_mask_i,", + "\tw_i,", + "\tdata_o", + ");", + "\tparameter width_p = 0;", + "\tparameter els_p = 0;", + "\tparameter latch_last_read_p = 0;", + "\tparameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p));", + "\tinput clk_i;", + "\tinput reset_i;", + "\tinput [(width_p < 1 ? 0 : width_p - 1):0] data_i;", + "\tinput [addr_width_lp - 1:0] addr_i;", + "\tinput v_i;", + "\tinput [(width_p < 1 ? 0 : width_p - 1):0] w_mask_i;", + "\tinput w_i;", + "\toutput wire [(width_p < 1 ? 0 : width_p - 1):0] data_o;", + "\twire unused = reset_i;", + "\tgenerate", + "\t\tif ((width_p == 0) || (els_p == 0)) begin : z", + "\t\t\twire unused0 = &{clk_i, data_i, addr_i, v_i, w_mask_i, w_i};", + "\t\t\tassign data_o = 1'sb0;", + "\t\tend", + ]) + + # FakeRAM branches for each large config + for depth, width in large_configs: + fname = fakeram_name(depth, width) + lines.extend([ + f"\t\telse if ((els_p == {depth}) && (width_p == {width})) begin : fakeram_{depth}x{width}", + f"\t\t\t{fname} mem (", + "\t\t\t\t.clk(clk_i),", + "\t\t\t\t.ce_in(v_i),", + "\t\t\t\t.we_in(w_i),", + "\t\t\t\t.w_mask_in(w_mask_i),", + "\t\t\t\t.addr_in(addr_i),", + "\t\t\t\t.wd_in(data_i),", + "\t\t\t\t.rd_out(data_o)", + "\t\t\t);", + "\t\tend", + ]) + + # Register-array fallback for small memories + lines.extend([ + "\t\telse begin : nz", + "\t\t\treg [addr_width_lp - 1:0] addr_r;", + "\t\t\treg [width_p - 1:0] mem [els_p - 1:0];", + "\t\t\twire read_en;", + "\t\t\twire [addr_width_lp - 1:0] addr_li = (els_p > 1 ? addr_i : {addr_width_lp {1'sb0}});", + "\t\t\tassign read_en = v_i & ~w_i;", + "\t\t\talways @(posedge clk_i)", + "\t\t\t\tif (read_en)", + "\t\t\t\t\taddr_r <= addr_li;", + "\t\t\t\telse", + "\t\t\t\t\taddr_r <= 1'sbx;", + "\t\t\twire [width_p - 1:0] data_out;", + "\t\t\tassign data_out = mem[addr_r];", + "\t\t\tif (latch_last_read_p) begin : llr", + "\t\t\t\twire read_en_r;", + "\t\t\t\tbsg_dff #(.width_p(1)) read_en_dff(", + "\t\t\t\t\t.clk_i(clk_i),", + "\t\t\t\t\t.data_i(read_en),", + "\t\t\t\t\t.data_o(read_en_r)", + "\t\t\t\t);", + "\t\t\t\tbsg_dff_en_bypass #(.width_p(width_p)) dff_bypass(", + "\t\t\t\t\t.clk_i(clk_i),", + "\t\t\t\t\t.en_i(read_en_r),", + "\t\t\t\t\t.data_i(data_out),", + "\t\t\t\t\t.data_o(data_o)", + "\t\t\t\t);", + "\t\t\tend", + "\t\t\telse begin : no_llr", + "\t\t\t\tassign data_o = data_out;", + "\t\t\tend", + "\t\t\talways @(posedge clk_i)", + "\t\t\t\tif (v_i & w_i) begin : sv2v_autoblock_1", + "\t\t\t\t\tinteger i;", + "\t\t\t\t\tfor (i = 0; i < width_p; i = i + 1)", + "\t\t\t\t\t\tif (w_mask_i[i])", + "\t\t\t\t\t\t\tmem[addr_li][i] <= data_i[i];", + "\t\t\t\tend", + "\t\tend", + "\tendgenerate", + "endmodule", + "", + ]) + + with open(macros_path, "w") as f: + f.write("\n".join(lines) + "\n") + + +# ── Main ───────────────────────────────────────────────────────────────── +def main(): + if len(sys.argv) != 3: + print(f"Usage: {sys.argv[0]} ") + sys.exit(1) + + sram_dir = sys.argv[1] + macros_path = sys.argv[2] + + os.makedirs(os.path.join(sram_dir, "lef"), exist_ok=True) + os.makedirs(os.path.join(sram_dir, "lib"), exist_ok=True) + + # Clean old FakeRAM files + for subdir in ("lef", "lib"): + d = os.path.join(sram_dir, subdir) + for f in os.listdir(d): + if f.startswith("fakeram_"): + os.remove(os.path.join(d, f)) + + print(f"Generating FakeRAM files for {len(LARGE_CONFIGS)} large memory configs:") + for depth, width in LARGE_CONFIGS: + bits = depth * width + name = fakeram_name(depth, width) + print(f" {name} ({bits} bits)") + w, h = gen_lef(name, width, depth, sram_dir) + gen_lib(name, width, depth, sram_dir, w, h) + + print(f"\nGenerating {macros_path}...") + gen_macros(LARGE_CONFIGS, macros_path) + + # Print config.mk snippet + print("\n# config.mk ADDITIONAL_LEFS entries:") + for depth, width in sorted(LARGE_CONFIGS): + name = fakeram_name(depth, width) + print(f"# ...sram/lef/{name}.lef") + + print("\n# config.mk ADDITIONAL_LIBS entries:") + for depth, width in sorted(LARGE_CONFIGS): + name = fakeram_name(depth, width) + print(f"# ...sram/lib/{name}.lib") + + +if __name__ == "__main__": + main() diff --git a/designs/src/bp_processor/dev/patch_mem.py b/designs/src/bp_processor/dev/patch_mem.py new file mode 100644 index 0000000..1b16b49 --- /dev/null +++ b/designs/src/bp_processor/dev/patch_mem.py @@ -0,0 +1,72 @@ +#!/usr/bin/env python3 +""" +Post-process sv2v-generated Black-Parrot Verilog to handle SRAM memories: + +1. Remove bsg_mem_*_synth module definitions (they contain register-array + implementations that blow up ABC synthesis) +2. These modules will be provided by macros.v with FakeRAM instantiations + +Only modules with direct register arrays are stripped: + - bsg_mem_1rw_sync_synth (simple 1RW) + - bsg_mem_1rw_sync_mask_write_bit_synth (bit-mask 1RW) + +NOT stripped: + - bsg_mem_1rw_sync_mask_write_byte_synth (decomposes into byte-wide + bsg_mem_1rw_sync instances, no direct register arrays) + - Multi-port types (1r1w, 2r1w, 3r1w) are typically small register files + +Usage: python3 patch_mem.py + +This script is idempotent and produces reproducible output. +""" +import re +import sys + + +# Modules whose definitions should be removed from the Verilog +# (they'll be replaced by macros.v) +STRIP_MODULES = { + "bsg_mem_1rw_sync_synth", + "bsg_mem_1rw_sync_mask_write_bit_synth", +} + + +def patch(input_path, output_path): + with open(input_path, "r") as f: + content = f.read() + + lines = content.split("\n") + out_lines = [] + i = 0 + stripped = 0 + + while i < len(lines): + line = lines[i] + + # Check for module declaration + match = re.match(r"^module\s+(\w+)\s*\(", line) + if match and match.group(1) in STRIP_MODULES: + mod_name = match.group(1) + # Skip until endmodule + while i < len(lines) and not lines[i].strip().startswith("endmodule"): + i += 1 + if i < len(lines): + i += 1 # skip the endmodule line + stripped += 1 + print(f" Stripped module: {mod_name}") + else: + out_lines.append(line) + i += 1 + + with open(output_path, "w") as f: + f.write("\n".join(out_lines)) + + print(f"Stripped {stripped} module definitions") + return stripped + + +if __name__ == "__main__": + if len(sys.argv) != 3: + print(f"Usage: {sys.argv[0]} ") + sys.exit(1) + patch(sys.argv[1], sys.argv[2]) diff --git a/designs/src/bp_processor/dev/setup.sh b/designs/src/bp_processor/dev/setup.sh new file mode 100755 index 0000000..4079942 --- /dev/null +++ b/designs/src/bp_processor/dev/setup.sh @@ -0,0 +1,175 @@ +#!/usr/bin/env bash +# Build script for Black-Parrot RISC-V multicore processor. +# Converts SystemVerilog sources to Verilog-2005 via sv2v, +# using the canonical file list from bp_top/flist.vcs. + +set -eu + +DIR="$(dirname "$(readlink -f "$0")")" +cd "$DIR" + +PROC=-1 + +function usage() { + cat << EOF + +Usage: $0 [-h|--help] [-t|--threads N] + +Options: + -h, --help Print this help message. + -t, --threads N Use N cpus when compiling software. + +EOF +} + +while (( "$#" )); do + case "$1" in + -h|--help) + usage 2>/dev/null + exit + ;; + -t|--threads) + PROC="$2" + shift + ;; + -*|--*) + echo "[ERROR] Unsupported flag $1." >&2 + usage 2>/dev/null + exit 1 + ;; + esac + shift +done + +if [[ "$PROC" == "-1" ]]; then + if [[ "$OSTYPE" == "linux-gnu"* ]]; then + PROC=$(nproc --all) + elif [[ "$OSTYPE" == "darwin"* ]]; then + PROC=$(sysctl -n hw.ncpu) + else + PROC=2 + fi +fi + +# ── Locate or build sv2v ─────────────────────────────────────────────── +if command -v sv2v >/dev/null 2>&1; then + SV2V="$(command -v sv2v)" + echo "Using system sv2v: $SV2V" +elif [ -f "./sv2v" ]; then + SV2V="./sv2v" + echo "Using local sv2v" +else + echo "sv2v not found. Cloning and building..." + rm -rf sv2v_main + git clone https://github.com/zachjs/sv2v.git sv2v_main + curl -sSL https://get.haskellstack.org/ | sh -s - -d "$(pwd)/sv2v_main" + cd sv2v_main + export STACK_ROOT=$(pwd)/sv2v_main + ./stack setup + ./stack build + cp "$(./stack path --local-install-root)/bin/sv2v" ../sv2v + cd .. + rm -rf sv2v_main + SV2V="./sv2v" + echo "Local sv2v build completed!" +fi + +# ── Check that BP repo is initialized ─────────────────────────────────── +BP_REPO="$(pwd)/repo" +if [ ! -d "$BP_REPO/bp_top" ]; then + echo "Error: Black-Parrot repo not found at $BP_REPO." + echo "Run: git submodule update --init designs/src/black_parrot/dev/repo" + exit 1 +fi + +# ── Fetch BP dependencies (external submodules) ──────────────────────── +if [ ! -d "$BP_REPO/external/basejump_stl/bsg_misc" ]; then + echo "Fetching Black-Parrot dependencies..." + cd "$BP_REPO" + git submodule update --init --recursive + cd "$DIR" +else + echo "Black-Parrot dependencies already present" +fi + +# ── Parse flist.vcs to get include dirs and source files ─────────────── +echo "Parsing bp_top/flist.vcs..." + +FLIST="$BP_REPO/bp_top/flist.vcs" +if [ ! -f "$FLIST" ]; then + echo "Error: $FLIST not found" >&2 + exit 1 +fi + +SV2V_ARGS=() + +while IFS= read -r line; do + # Strip comments and whitespace + line="${line%%//*}" + line="${line#"${line%%[![:space:]]*}"}" + line="${line%"${line##*[![:space:]]}"}" + [ -z "$line" ] && continue + [[ "$line" == \#* ]] && continue + + # Replace $BP_DIR with actual path + line="${line//\$BP_DIR/$BP_REPO}" + + if [[ "$line" == +incdir+* ]]; then + inc_path="${line#+incdir+}" + if [ -d "$inc_path" ]; then + SV2V_ARGS+=("-I$inc_path") + else + echo "Warning: include dir not found: $inc_path" + fi + elif [[ "$line" == +* ]] || [[ "$line" == -* ]]; then + # Skip other VCS directives + continue + elif [ -f "$line" ]; then + SV2V_ARGS+=("$line") + else + echo "Warning: source file not found: $line" + fi +done < "$FLIST" + +echo "Collected ${#SV2V_ARGS[@]} arguments (includes + sources)" + +# ── Run sv2v conversion ──────────────────────────────────────────────── +mkdir -p generated + +echo "Running sv2v conversion (this may take several minutes)..." +$SV2V \ + --top bp_processor \ + "${SV2V_ARGS[@]}" \ + -w generated/bp_processor.v \ + 2>&1 | tee generated/sv2v.log + +if [ ! -f generated/bp_processor.v ] || [ ! -s generated/bp_processor.v ]; then + echo "Error: sv2v conversion failed — generated/bp_processor.v not found or empty." >&2 + echo "Check generated/sv2v.log for details." >&2 + exit 1 +fi + +echo "sv2v conversion complete: generated/bp_processor.v" +echo "$(wc -l < generated/bp_processor.v) lines generated" + +# ── Post-process: strip bsg_mem_*_synth module definitions ──────────── +# These contain parameterized register arrays that cause ABC OOM. +# macros.v provides FakeRAM-backed replacements. +echo "Stripping bsg_mem_*_synth module definitions..." +python3 "$DIR/patch_mem.py" generated/bp_processor.v generated/bp_processor.v + +# ── Generate FakeRAM LEF/LIB and macros.v ───────────────────────────── +# Find the ASAP7 platform directory (relative to the HighTide root). +HIGHTIDE_ROOT="$(cd "$DIR/../../../.." && pwd)" +SRAM_DIR="$HIGHTIDE_ROOT/designs/asap7/bp_processor/sram" +MACROS_V="$HIGHTIDE_ROOT/designs/asap7/bp_processor/macros.v" + +echo "Generating FakeRAM files and macros.v..." +python3 "$DIR/gen_fakeram.py" "$SRAM_DIR" "$MACROS_V" + +echo "" +echo "Setup complete. Generated files:" +echo " RTL: generated/bp_processor.v" +echo " FakeRAM: $SRAM_DIR/lef/ and $SRAM_DIR/lib/" +echo " Macros: $MACROS_V" +echo "Review generated/sv2v.log for any warnings." diff --git a/designs/src/bp_processor/verilog.mk b/designs/src/bp_processor/verilog.mk new file mode 100644 index 0000000..398b402 --- /dev/null +++ b/designs/src/bp_processor/verilog.mk @@ -0,0 +1,27 @@ +BP_DEV_DIR := $(BENCH_DESIGN_HOME)/src/$(DESIGN_NAME)/dev +BP_DEV_RTL := $(BP_DEV_DIR)/generated/$(DESIGN_NAME).v + +BP_RELEASE_RTL := $(BENCH_DESIGN_HOME)/src/$(DESIGN_NAME)/$(DESIGN_NAME).v + +# DEV_SRC intentionally left empty — regenerating BP RTL via sv2v is expensive. +# Use 'rm -rf designs/src/bp_processor/dev/generated' to manually clean. +export DEV_SRC := + +ifneq ($(wildcard $(DEV_FLAG)),) +$(BP_DEV_RTL): $(BP_DEV_DIR)/setup.sh + @echo "Generating Black-Parrot RTL via setup.sh" + @cd $(BP_DEV_DIR) && bash setup.sh + +export VERILOG_FILES = $(BP_DEV_RTL) \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/macros.v +else +# Prefer checked-in RTL; fall back to dev output if it has not been promoted yet. +ifeq ($(wildcard $(BP_RELEASE_RTL)),) +$(warning $(BP_RELEASE_RTL) is missing; using dev RTL. Run 'make dev' to regenerate and promote.) +export VERILOG_FILES = $(BP_DEV_RTL) \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/macros.v +else +export VERILOG_FILES = $(BP_RELEASE_RTL) \ + $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/macros.v +endif +endif From 91de0247f8274594db3cb28e87bdcc57126110ed Mon Sep 17 00:00:00 2001 From: Matthew Guthaus Date: Mon, 2 Mar 2026 13:02:10 -0800 Subject: [PATCH 3/9] Update design name --- designs/asap7/bp_processor/config.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/designs/asap7/bp_processor/config.mk b/designs/asap7/bp_processor/config.mk index 9b1d537..b016df1 100644 --- a/designs/asap7/bp_processor/config.mk +++ b/designs/asap7/bp_processor/config.mk @@ -2,6 +2,8 @@ export DESIGN_NICKNAME ?= bp_quad export DESIGN_NAME = bp_processor export PLATFORM = asap7 +export DEV_DESIGN_HOME = $(DESIGN_NAME)/dev + export SYNTH_HIERARCHICAL = 1 export SYNTH_MINIMUM_KEEP_SIZE = 500 From 65a75aef1cab3b013cbae5f18f71d4fba58bebf9 Mon Sep 17 00:00:00 2001 From: Matthew Guthaus Date: Mon, 2 Mar 2026 13:16:26 -0800 Subject: [PATCH 4/9] Fix sv2v install by using prebuilt binary instead of Haskell Stack --- designs/src/bp_processor/dev/setup.sh | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/designs/src/bp_processor/dev/setup.sh b/designs/src/bp_processor/dev/setup.sh index 4079942..6e6fbd5 100755 --- a/designs/src/bp_processor/dev/setup.sh +++ b/designs/src/bp_processor/dev/setup.sh @@ -59,19 +59,16 @@ elif [ -f "./sv2v" ]; then SV2V="./sv2v" echo "Using local sv2v" else - echo "sv2v not found. Cloning and building..." - rm -rf sv2v_main - git clone https://github.com/zachjs/sv2v.git sv2v_main - curl -sSL https://get.haskellstack.org/ | sh -s - -d "$(pwd)/sv2v_main" - cd sv2v_main - export STACK_ROOT=$(pwd)/sv2v_main - ./stack setup - ./stack build - cp "$(./stack path --local-install-root)/bin/sv2v" ../sv2v - cd .. - rm -rf sv2v_main + echo "sv2v not found. Downloading prebuilt binary..." + SV2V_ZIP="sv2v-Linux.zip" + curl -sSL -o "$SV2V_ZIP" \ + "https://github.com/zachjs/sv2v/releases/download/v0.0.13/sv2v-Linux.zip" + unzip -o "$SV2V_ZIP" -d sv2v_extract + cp sv2v_extract/sv2v ./sv2v + chmod +x ./sv2v + rm -rf "$SV2V_ZIP" sv2v_extract SV2V="./sv2v" - echo "Local sv2v build completed!" + echo "sv2v binary downloaded successfully!" fi # ── Check that BP repo is initialized ─────────────────────────────────── From 5e9341c25090f6aff05cd930d10c3db4e91c4b84 Mon Sep 17 00:00:00 2001 From: Matthew Guthaus Date: Mon, 2 Mar 2026 13:29:28 -0800 Subject: [PATCH 5/9] Move bp_processor design into bp_quad sub-design directory Restructure to match the liteeth convention where the design family is the parent directory and specific configurations are subdirectories. --- Makefile | 2 +- designs/asap7/bp_processor/bp_quad/config.mk | 41 +++++++++++++++++++ .../bp_processor/{ => bp_quad}/constraint.sdc | 0 designs/asap7/bp_processor/config.mk | 41 ------------------- designs/src/bp_processor/dev/setup.sh | 2 +- designs/src/bp_processor/verilog.mk | 8 ++-- 6 files changed, 48 insertions(+), 46 deletions(-) create mode 100644 designs/asap7/bp_processor/bp_quad/config.mk rename designs/asap7/bp_processor/{ => bp_quad}/constraint.sdc (100%) delete mode 100644 designs/asap7/bp_processor/config.mk diff --git a/Makefile b/Makefile index bea81f0..69467f2 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ # DESIGN_CONFIG=./designs/asap7/lfsr_prbs_gen/config.mk # DESIGN_CONFIG=./designs/asap7/NyuziProcessor/config.mk # DESIGN_CONFIG=./designs/asap7/gemmini/config.mk -# DESIGN_CONFIG=./designs/asap7/bp_processor/config.mk +# DESIGN_CONFIG=./designs/asap7/bp_processor/bp_quad/config.mk DESIGN_CONFIG ?= ./designs/nangate45/lfsr_prbs_gen/config.mk -include OpenROAD-flow-scripts/flow/Makefile diff --git a/designs/asap7/bp_processor/bp_quad/config.mk b/designs/asap7/bp_processor/bp_quad/config.mk new file mode 100644 index 0000000..70b4c8a --- /dev/null +++ b/designs/asap7/bp_processor/bp_quad/config.mk @@ -0,0 +1,41 @@ +export DESIGN_NICKNAME ?= bp_quad +export DESIGN_NAME = bp_processor +export PLATFORM = asap7 + +export DEV_DESIGN_HOME = $(DESIGN_NAME)/dev + +export SYNTH_HIERARCHICAL = 1 +export SYNTH_MINIMUM_KEEP_SIZE = 500 + +-include $(BENCH_DESIGN_HOME)/src/$(DESIGN_NAME)/verilog.mk + +export ABC_AREA = 1 + +export SDC_FILE = $(PLATFORM_DESIGN_DIR)/$(DESIGN_NICKNAME)/constraint.sdc + +export ADDITIONAL_LEFS = $(PLATFORM_DESIGN_DIR)/sram/lef/fakeram_8x174_1rw.lef \ + $(PLATFORM_DESIGN_DIR)/sram/lef/fakeram_32x48_1rw.lef \ + $(PLATFORM_DESIGN_DIR)/sram/lef/fakeram_32x66_1rw.lef \ + $(PLATFORM_DESIGN_DIR)/sram/lef/fakeram_64x50_1rw.lef \ + $(PLATFORM_DESIGN_DIR)/sram/lef/fakeram_64x184_1rw.lef \ + $(PLATFORM_DESIGN_DIR)/sram/lef/fakeram_128x8_1rw.lef \ + $(PLATFORM_DESIGN_DIR)/sram/lef/fakeram_512x8_1rw.lef \ + $(PLATFORM_DESIGN_DIR)/sram/lef/fakeram_512x64_1rw.lef + +export ADDITIONAL_LIBS = $(PLATFORM_DESIGN_DIR)/sram/lib/fakeram_8x174_1rw.lib \ + $(PLATFORM_DESIGN_DIR)/sram/lib/fakeram_32x48_1rw.lib \ + $(PLATFORM_DESIGN_DIR)/sram/lib/fakeram_32x66_1rw.lib \ + $(PLATFORM_DESIGN_DIR)/sram/lib/fakeram_64x50_1rw.lib \ + $(PLATFORM_DESIGN_DIR)/sram/lib/fakeram_64x184_1rw.lib \ + $(PLATFORM_DESIGN_DIR)/sram/lib/fakeram_128x8_1rw.lib \ + $(PLATFORM_DESIGN_DIR)/sram/lib/fakeram_512x8_1rw.lib \ + $(PLATFORM_DESIGN_DIR)/sram/lib/fakeram_512x64_1rw.lib + +export SYNTH_MEMORY_MAX_BITS = 65536 + +export DIE_AREA = 0 0 800 800 +export CORE_AREA = 5 5 795 795 + +export MACRO_PLACE_HALO = 5 5 +export PLACE_DENSITY_LB_ADDON = 0.10 +export TNS_END_PERCENT = 100 diff --git a/designs/asap7/bp_processor/constraint.sdc b/designs/asap7/bp_processor/bp_quad/constraint.sdc similarity index 100% rename from designs/asap7/bp_processor/constraint.sdc rename to designs/asap7/bp_processor/bp_quad/constraint.sdc diff --git a/designs/asap7/bp_processor/config.mk b/designs/asap7/bp_processor/config.mk deleted file mode 100644 index b016df1..0000000 --- a/designs/asap7/bp_processor/config.mk +++ /dev/null @@ -1,41 +0,0 @@ -export DESIGN_NICKNAME ?= bp_quad -export DESIGN_NAME = bp_processor -export PLATFORM = asap7 - -export DEV_DESIGN_HOME = $(DESIGN_NAME)/dev - -export SYNTH_HIERARCHICAL = 1 -export SYNTH_MINIMUM_KEEP_SIZE = 500 - --include $(BENCH_DESIGN_HOME)/src/$(DESIGN_NAME)/verilog.mk - -export ABC_AREA = 1 - -export SDC_FILE = $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/constraint.sdc - -export ADDITIONAL_LEFS = $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_8x174_1rw.lef \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_32x48_1rw.lef \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_32x66_1rw.lef \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_64x50_1rw.lef \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_64x184_1rw.lef \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_128x8_1rw.lef \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_512x8_1rw.lef \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lef/fakeram_512x64_1rw.lef - -export ADDITIONAL_LIBS = $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_8x174_1rw.lib \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_32x48_1rw.lib \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_32x66_1rw.lib \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_64x50_1rw.lib \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_64x184_1rw.lib \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_128x8_1rw.lib \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_512x8_1rw.lib \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/sram/lib/fakeram_512x64_1rw.lib - -export SYNTH_MEMORY_MAX_BITS = 65536 - -export DIE_AREA = 0 0 800 800 -export CORE_AREA = 5 5 795 795 - -export MACRO_PLACE_HALO = 5 5 -export PLACE_DENSITY_LB_ADDON = 0.10 -export TNS_END_PERCENT = 100 diff --git a/designs/src/bp_processor/dev/setup.sh b/designs/src/bp_processor/dev/setup.sh index 6e6fbd5..acc3758 100755 --- a/designs/src/bp_processor/dev/setup.sh +++ b/designs/src/bp_processor/dev/setup.sh @@ -64,7 +64,7 @@ else curl -sSL -o "$SV2V_ZIP" \ "https://github.com/zachjs/sv2v/releases/download/v0.0.13/sv2v-Linux.zip" unzip -o "$SV2V_ZIP" -d sv2v_extract - cp sv2v_extract/sv2v ./sv2v + cp sv2v_extract/sv2v-Linux/sv2v ./sv2v chmod +x ./sv2v rm -rf "$SV2V_ZIP" sv2v_extract SV2V="./sv2v" diff --git a/designs/src/bp_processor/verilog.mk b/designs/src/bp_processor/verilog.mk index 398b402..4081969 100644 --- a/designs/src/bp_processor/verilog.mk +++ b/designs/src/bp_processor/verilog.mk @@ -1,3 +1,5 @@ +export PLATFORM_DESIGN_DIR=$(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME) + BP_DEV_DIR := $(BENCH_DESIGN_HOME)/src/$(DESIGN_NAME)/dev BP_DEV_RTL := $(BP_DEV_DIR)/generated/$(DESIGN_NAME).v @@ -13,15 +15,15 @@ $(BP_DEV_RTL): $(BP_DEV_DIR)/setup.sh @cd $(BP_DEV_DIR) && bash setup.sh export VERILOG_FILES = $(BP_DEV_RTL) \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/macros.v + $(PLATFORM_DESIGN_DIR)/macros.v else # Prefer checked-in RTL; fall back to dev output if it has not been promoted yet. ifeq ($(wildcard $(BP_RELEASE_RTL)),) $(warning $(BP_RELEASE_RTL) is missing; using dev RTL. Run 'make dev' to regenerate and promote.) export VERILOG_FILES = $(BP_DEV_RTL) \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/macros.v + $(PLATFORM_DESIGN_DIR)/macros.v else export VERILOG_FILES = $(BP_RELEASE_RTL) \ - $(BENCH_DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/macros.v + $(PLATFORM_DESIGN_DIR)/macros.v endif endif From f0f0328b6641a2988277654618cc3bba3b944c1c Mon Sep 17 00:00:00 2001 From: Matthew Guthaus Date: Mon, 2 Mar 2026 15:06:01 -0800 Subject: [PATCH 6/9] Relax clock constraint from 1500ps to 3000ps to reduce timing pressure --- designs/asap7/bp_processor/bp_quad/constraint.sdc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designs/asap7/bp_processor/bp_quad/constraint.sdc b/designs/asap7/bp_processor/bp_quad/constraint.sdc index 427f61a..d31dd39 100644 --- a/designs/asap7/bp_processor/bp_quad/constraint.sdc +++ b/designs/asap7/bp_processor/bp_quad/constraint.sdc @@ -2,7 +2,7 @@ current_design bp_processor set clk_name CLK set clk_port_name clk_i -set clk_period 1500 +set clk_period 3000 set clk_io_pct 0.2 set clk_port [get_ports $clk_port_name] From 0ddf48f1edf8e5e167fecd5a40f378a35d871d5b Mon Sep 17 00:00:00 2001 From: Matthew Guthaus Date: Mon, 2 Mar 2026 15:55:31 -0800 Subject: [PATCH 7/9] Relax clock constraint to 3333ps (~300MHz) --- designs/asap7/bp_processor/bp_quad/constraint.sdc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designs/asap7/bp_processor/bp_quad/constraint.sdc b/designs/asap7/bp_processor/bp_quad/constraint.sdc index d31dd39..d3206d2 100644 --- a/designs/asap7/bp_processor/bp_quad/constraint.sdc +++ b/designs/asap7/bp_processor/bp_quad/constraint.sdc @@ -2,7 +2,7 @@ current_design bp_processor set clk_name CLK set clk_port_name clk_i -set clk_period 3000 +set clk_period 3333 set clk_io_pct 0.2 set clk_port [get_ports $clk_port_name] From 0605578c39e787d2ca7bc4209cad170301173fb5 Mon Sep 17 00:00:00 2001 From: Matthew Guthaus Date: Tue, 3 Mar 2026 10:39:27 -0800 Subject: [PATCH 8/9] Increase die area to 1020x1020 and spread IO pins Macros were consuming 50% of core area at 800x800 (56% utilization). New 1020x1020 die gives ~34% utilization for macro halos and routing. Added PLACE_PINS_ARGS to spread IO pins on perimeter. --- designs/asap7/bp_processor/bp_quad/config.mk | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/designs/asap7/bp_processor/bp_quad/config.mk b/designs/asap7/bp_processor/bp_quad/config.mk index 70b4c8a..d1131ba 100644 --- a/designs/asap7/bp_processor/bp_quad/config.mk +++ b/designs/asap7/bp_processor/bp_quad/config.mk @@ -33,9 +33,11 @@ export ADDITIONAL_LIBS = $(PLATFORM_DESIGN_DIR)/sram/lib/fakeram_8x174_1rw.lib \ export SYNTH_MEMORY_MAX_BITS = 65536 -export DIE_AREA = 0 0 800 800 -export CORE_AREA = 5 5 795 795 +export DIE_AREA = 0 0 1020 1020 +export CORE_AREA = 10 10 1010 1010 -export MACRO_PLACE_HALO = 5 5 +export PLACE_PINS_ARGS = -min_distance 30 -min_distance_in_tracks +export MACRO_PLACE_HALO = 6 6 +export MACRO_BLOCKAGE_HALO = 0.5 export PLACE_DENSITY_LB_ADDON = 0.10 export TNS_END_PERCENT = 100 From a7575afb2000d602623ea4add4ea1b483f598179 Mon Sep 17 00:00:00 2001 From: mrg Date: Thu, 5 Mar 2026 21:20:35 -0800 Subject: [PATCH 9/9] Modify IO constraints and SDC of bp_quad. Add generated verilog. --- designs/asap7/bp_processor/bp_quad/io.tcl | 89 + .../bp_processor/dev/generated/bp_processor.v | 81417 ++++++++++++++++ 2 files changed, 81506 insertions(+) create mode 100644 designs/asap7/bp_processor/bp_quad/io.tcl create mode 100644 designs/src/bp_processor/dev/generated/bp_processor.v diff --git a/designs/asap7/bp_processor/bp_quad/io.tcl b/designs/asap7/bp_processor/bp_quad/io.tcl new file mode 100644 index 0000000..ec79366 --- /dev/null +++ b/designs/asap7/bp_processor/bp_quad/io.tcl @@ -0,0 +1,89 @@ +# IO Pin Constraints for bp_quad (bp_processor) on ASAP7 +# +# Pin distribution across 4 sides: +# BOTTOM (269 pins): Control signals + DMA data inputs +# TOP (340 pins): DMA data outputs + DMA packet outputs +# LEFT (390 pins): Memory Forward interface (in + out) +# RIGHT (390 pins): Memory Reverse interface (in + out) +# +# Each bus is a separate -group to keep bits ordered together. +# min_distance 40 tracks (1.92um) in PLACE_PINS_ARGS spreads +# pins across <75% of each side. + +# Helper: generate bus pin names in order +proc bus_pins {name high {low 0}} { + set pins {} + for {set i $low} {$i <= $high} {incr i} { + lappend pins "${name}\[${i}\]" + } + return $pins +} + +# ============================================================ +# BOTTOM: Control + DMA data inputs +# ============================================================ +# Side assignment for all bottom pins +set_io_pin_constraint -region bottom:* -pin_names [list \ + clk_i rt_clk_i reset_i \ + {*}[bus_pins my_did_i 2] \ + {*}[bus_pins host_did_i 2] \ + {*}[bus_pins dma_data_v_i 1] \ + {*}[bus_pins dma_data_ready_and_o 1] \ + {*}[bus_pins dma_data_i 255] \ +] +# Group each bus so bits stay ordered together +set_io_pin_constraint -group -order -pin_names [bus_pins my_did_i 2] +set_io_pin_constraint -group -order -pin_names [bus_pins host_did_i 2] +set_io_pin_constraint -group -order -pin_names [bus_pins dma_data_v_i 1] +set_io_pin_constraint -group -order -pin_names [bus_pins dma_data_ready_and_o 1] +set_io_pin_constraint -group -order -pin_names [bus_pins dma_data_i 255] + +# ============================================================ +# TOP: DMA data outputs + DMA packet outputs +# ============================================================ +set_io_pin_constraint -region top:* -pin_names [list \ + {*}[bus_pins dma_data_o 255] \ + {*}[bus_pins dma_data_v_o 1] \ + {*}[bus_pins dma_data_ready_and_i 1] \ + {*}[bus_pins dma_pkt_o 75] \ + {*}[bus_pins dma_pkt_v_o 1] \ + {*}[bus_pins dma_pkt_ready_and_i 1] \ +] +set_io_pin_constraint -group -order -pin_names [bus_pins dma_data_o 255] +set_io_pin_constraint -group -order -pin_names [bus_pins dma_data_v_o 1] +set_io_pin_constraint -group -order -pin_names [bus_pins dma_data_ready_and_i 1] +set_io_pin_constraint -group -order -pin_names [bus_pins dma_pkt_o 75] +set_io_pin_constraint -group -order -pin_names [bus_pins dma_pkt_v_o 1] +set_io_pin_constraint -group -order -pin_names [bus_pins dma_pkt_ready_and_i 1] + +# ============================================================ +# LEFT: Memory Forward interface +# ============================================================ +set_io_pin_constraint -region left:* -pin_names [list \ + mem_fwd_v_i mem_fwd_ready_and_o \ + {*}[bus_pins mem_fwd_header_i 64] \ + {*}[bus_pins mem_fwd_data_i 127] \ + mem_fwd_v_o mem_fwd_ready_and_i \ + {*}[bus_pins mem_fwd_header_o 64] \ + {*}[bus_pins mem_fwd_data_o 127] \ +] +set_io_pin_constraint -group -order -pin_names [bus_pins mem_fwd_header_i 64] +set_io_pin_constraint -group -order -pin_names [bus_pins mem_fwd_data_i 127] +set_io_pin_constraint -group -order -pin_names [bus_pins mem_fwd_header_o 64] +set_io_pin_constraint -group -order -pin_names [bus_pins mem_fwd_data_o 127] + +# ============================================================ +# RIGHT: Memory Reverse interface +# ============================================================ +set_io_pin_constraint -region right:* -pin_names [list \ + mem_rev_v_i mem_rev_ready_and_o \ + {*}[bus_pins mem_rev_header_i 64] \ + {*}[bus_pins mem_rev_data_i 127] \ + mem_rev_v_o mem_rev_ready_and_i \ + {*}[bus_pins mem_rev_header_o 64] \ + {*}[bus_pins mem_rev_data_o 127] \ +] +set_io_pin_constraint -group -order -pin_names [bus_pins mem_rev_header_i 64] +set_io_pin_constraint -group -order -pin_names [bus_pins mem_rev_data_i 127] +set_io_pin_constraint -group -order -pin_names [bus_pins mem_rev_header_o 64] +set_io_pin_constraint -group -order -pin_names [bus_pins mem_rev_data_o 127] diff --git a/designs/src/bp_processor/dev/generated/bp_processor.v b/designs/src/bp_processor/dev/generated/bp_processor.v new file mode 100644 index 0000000..059df6b --- /dev/null +++ b/designs/src/bp_processor/dev/generated/bp_processor.v @@ -0,0 +1,81417 @@ +module bsg_async_fifo ( + w_clk_i, + w_reset_i, + w_enq_i, + w_data_i, + w_full_o, + r_clk_i, + r_reset_i, + r_deq_i, + r_data_o, + r_valid_o +); + parameter lg_size_p = 0; + parameter width_p = 0; + parameter control_width_p = 0; + parameter and_data_with_valid_p = 0; + input w_clk_i; + input w_reset_i; + input w_enq_i; + input [width_p - 1:0] w_data_i; + output wire w_full_o; + input r_clk_i; + input r_reset_i; + input r_deq_i; + output wire [width_p - 1:0] r_data_o; + output wire r_valid_o; + localparam size_lp = 1 << lg_size_p; + wire [lg_size_p:0] r_ptr_gray_r; + wire [lg_size_p:0] w_ptr_gray_r; + wire [lg_size_p:0] w_ptr_gray_r_rsync; + wire [lg_size_p:0] r_ptr_gray_r_wsync; + wire [lg_size_p:0] r_ptr_binary_r; + wire [lg_size_p:0] w_ptr_binary_r; + wire r_valid_o_tmp; + assign r_valid_o = r_valid_o_tmp; + wire [width_p - 1:0] r_data_o_tmp; + generate + if (and_data_with_valid_p) begin : fi + wire [width_p - 1:0] r_valid_o_exp = {width_p {r_valid_o_tmp}}; + bsg_and #( + .width_p(width_p), + .harden_p(1) + ) ba( + .a_i(r_data_o_tmp), + .b_i(r_valid_o_exp), + .o(r_data_o) + ); + end + else begin : fi + assign r_data_o = r_data_o_tmp; + end + endgenerate + bsg_mem_1r1w #( + .width_p(width_p - control_width_p), + .els_p(size_lp), + .read_write_same_addr_p(0) + ) MSYNC_1r1w( + .w_clk_i(w_clk_i), + .w_reset_i(w_reset_i), + .w_v_i(w_enq_i), + .w_addr_i(w_ptr_binary_r[0+:lg_size_p]), + .w_data_i(w_data_i[0+:width_p - control_width_p]), + .r_v_i(r_valid_o_tmp), + .r_addr_i(r_ptr_binary_r[0+:lg_size_p]), + .r_data_o(r_data_o_tmp[0+:width_p - control_width_p]) + ); + generate + if (control_width_p > 0) begin : ctrl + bsg_mem_1r1w #( + .width_p(control_width_p), + .els_p(size_lp), + .read_write_same_addr_p(0) + ) MSYNC_1r1w( + .w_clk_i(w_clk_i), + .w_reset_i(w_reset_i), + .w_v_i(w_enq_i), + .w_addr_i(w_ptr_binary_r[0+:lg_size_p]), + .w_data_i(w_data_i[width_p - 1-:control_width_p]), + .r_v_i(r_valid_o_tmp), + .r_addr_i(r_ptr_binary_r[0+:lg_size_p]), + .r_data_o(r_data_o_tmp[width_p - 1-:control_width_p]) + ); + end + endgenerate + bsg_async_ptr_gray #(.lg_size_p(lg_size_p + 1)) bapg_wr( + .w_clk_i(w_clk_i), + .w_reset_i(w_reset_i), + .w_inc_i(w_enq_i), + .r_clk_i(r_clk_i), + .w_ptr_binary_r_o(w_ptr_binary_r), + .w_ptr_gray_r_o(w_ptr_gray_r), + .w_ptr_gray_r_rsync_o(w_ptr_gray_r_rsync) + ); + bsg_async_ptr_gray #(.lg_size_p(lg_size_p + 1)) bapg_rd( + .w_clk_i(r_clk_i), + .w_reset_i(r_reset_i), + .w_inc_i(r_deq_i), + .r_clk_i(w_clk_i), + .w_ptr_binary_r_o(r_ptr_binary_r), + .w_ptr_gray_r_o(r_ptr_gray_r), + .w_ptr_gray_r_rsync_o(r_ptr_gray_r_wsync) + ); + assign r_valid_o_tmp = r_ptr_gray_r != w_ptr_gray_r_rsync; + assign w_full_o = w_ptr_gray_r == {~r_ptr_gray_r_wsync[lg_size_p-:2], r_ptr_gray_r_wsync[0+:lg_size_p - 1]}; + always @(negedge w_clk_i) + ; + always @(negedge r_clk_i) + ; +endmodule +module bsg_launch_sync_sync_posedge_1_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [0:0] iclk_data_i; + output wire [0:0] iclk_data_o; + output wire [0:0] oclk_data_o; + reg [0:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= 1'b0; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [0:0] bsg_SYNC_1_r; + reg [0:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_posedge_2_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [1:0] iclk_data_i; + output wire [1:0] iclk_data_o; + output wire [1:0] oclk_data_o; + reg [1:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {2 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [1:0] bsg_SYNC_1_r; + reg [1:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_posedge_3_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [2:0] iclk_data_i; + output wire [2:0] iclk_data_o; + output wire [2:0] oclk_data_o; + reg [2:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {3 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [2:0] bsg_SYNC_1_r; + reg [2:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_posedge_4_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [3:0] iclk_data_i; + output wire [3:0] iclk_data_o; + output wire [3:0] oclk_data_o; + reg [3:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {4 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [3:0] bsg_SYNC_1_r; + reg [3:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_posedge_5_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [4:0] iclk_data_i; + output wire [4:0] iclk_data_o; + output wire [4:0] oclk_data_o; + reg [4:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {5 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [4:0] bsg_SYNC_1_r; + reg [4:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_posedge_6_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [5:0] iclk_data_i; + output wire [5:0] iclk_data_o; + output wire [5:0] oclk_data_o; + reg [5:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {6 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [5:0] bsg_SYNC_1_r; + reg [5:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_posedge_7_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [6:0] iclk_data_i; + output wire [6:0] iclk_data_o; + output wire [6:0] oclk_data_o; + reg [6:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {7 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [6:0] bsg_SYNC_1_r; + reg [6:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_posedge_8_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [7:0] iclk_data_i; + output wire [7:0] iclk_data_o; + output wire [7:0] oclk_data_o; + reg [7:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {8 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [7:0] bsg_SYNC_1_r; + reg [7:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_negedge_1_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [0:0] iclk_data_i; + output wire [0:0] iclk_data_o; + output wire [0:0] oclk_data_o; + reg [0:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= 1'b0; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [0:0] bsg_SYNC_1_r; + reg [0:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_negedge_2_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [1:0] iclk_data_i; + output wire [1:0] iclk_data_o; + output wire [1:0] oclk_data_o; + reg [1:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {2 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [1:0] bsg_SYNC_1_r; + reg [1:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_negedge_3_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [2:0] iclk_data_i; + output wire [2:0] iclk_data_o; + output wire [2:0] oclk_data_o; + reg [2:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {3 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [2:0] bsg_SYNC_1_r; + reg [2:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_negedge_4_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [3:0] iclk_data_i; + output wire [3:0] iclk_data_o; + output wire [3:0] oclk_data_o; + reg [3:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {4 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [3:0] bsg_SYNC_1_r; + reg [3:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_negedge_5_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [4:0] iclk_data_i; + output wire [4:0] iclk_data_o; + output wire [4:0] oclk_data_o; + reg [4:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {5 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [4:0] bsg_SYNC_1_r; + reg [4:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_negedge_6_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [5:0] iclk_data_i; + output wire [5:0] iclk_data_o; + output wire [5:0] oclk_data_o; + reg [5:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {6 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [5:0] bsg_SYNC_1_r; + reg [5:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_negedge_7_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [6:0] iclk_data_i; + output wire [6:0] iclk_data_o; + output wire [6:0] oclk_data_o; + reg [6:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {7 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [6:0] bsg_SYNC_1_r; + reg [6:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_negedge_8_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [7:0] iclk_data_i; + output wire [7:0] iclk_data_o; + output wire [7:0] oclk_data_o; + reg [7:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {8 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [7:0] bsg_SYNC_1_r; + reg [7:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i) bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i) bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_posedge_1_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [0:0] iclk_data_i; + output wire [0:0] iclk_data_o; + output wire [0:0] oclk_data_o; + reg [0:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= 1'b0; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [0:0] bsg_SYNC_1_r; + reg [0:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= 1'b0; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= 1'b0; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_posedge_2_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [1:0] iclk_data_i; + output wire [1:0] iclk_data_o; + output wire [1:0] oclk_data_o; + reg [1:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {2 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [1:0] bsg_SYNC_1_r; + reg [1:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {2 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {2 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_posedge_3_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [2:0] iclk_data_i; + output wire [2:0] iclk_data_o; + output wire [2:0] oclk_data_o; + reg [2:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {3 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [2:0] bsg_SYNC_1_r; + reg [2:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {3 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {3 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_posedge_4_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [3:0] iclk_data_i; + output wire [3:0] iclk_data_o; + output wire [3:0] oclk_data_o; + reg [3:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {4 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [3:0] bsg_SYNC_1_r; + reg [3:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {4 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {4 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_posedge_5_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [4:0] iclk_data_i; + output wire [4:0] iclk_data_o; + output wire [4:0] oclk_data_o; + reg [4:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {5 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [4:0] bsg_SYNC_1_r; + reg [4:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {5 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {5 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_posedge_6_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [5:0] iclk_data_i; + output wire [5:0] iclk_data_o; + output wire [5:0] oclk_data_o; + reg [5:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {6 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [5:0] bsg_SYNC_1_r; + reg [5:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {6 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {6 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_posedge_7_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [6:0] iclk_data_i; + output wire [6:0] iclk_data_o; + output wire [6:0] oclk_data_o; + reg [6:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {7 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [6:0] bsg_SYNC_1_r; + reg [6:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {7 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {7 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_posedge_8_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [7:0] iclk_data_i; + output wire [7:0] iclk_data_o; + output wire [7:0] oclk_data_o; + reg [7:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(posedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {8 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [7:0] bsg_SYNC_1_r; + reg [7:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {8 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {8 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_negedge_1_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [0:0] iclk_data_i; + output wire [0:0] iclk_data_o; + output wire [0:0] oclk_data_o; + reg [0:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= 1'b0; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [0:0] bsg_SYNC_1_r; + reg [0:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= 1'b0; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= 1'b0; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_negedge_2_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [1:0] iclk_data_i; + output wire [1:0] iclk_data_o; + output wire [1:0] oclk_data_o; + reg [1:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {2 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [1:0] bsg_SYNC_1_r; + reg [1:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {2 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {2 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_negedge_3_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [2:0] iclk_data_i; + output wire [2:0] iclk_data_o; + output wire [2:0] oclk_data_o; + reg [2:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {3 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [2:0] bsg_SYNC_1_r; + reg [2:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {3 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {3 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_negedge_4_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [3:0] iclk_data_i; + output wire [3:0] iclk_data_o; + output wire [3:0] oclk_data_o; + reg [3:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {4 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [3:0] bsg_SYNC_1_r; + reg [3:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {4 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {4 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_negedge_5_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [4:0] iclk_data_i; + output wire [4:0] iclk_data_o; + output wire [4:0] oclk_data_o; + reg [4:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {5 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [4:0] bsg_SYNC_1_r; + reg [4:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {5 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {5 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_negedge_6_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [5:0] iclk_data_i; + output wire [5:0] iclk_data_o; + output wire [5:0] oclk_data_o; + reg [5:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {6 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [5:0] bsg_SYNC_1_r; + reg [5:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {6 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {6 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_negedge_7_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [6:0] iclk_data_i; + output wire [6:0] iclk_data_o; + output wire [6:0] oclk_data_o; + reg [6:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {7 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [6:0] bsg_SYNC_1_r; + reg [6:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {7 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {7 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync_async_reset_negedge_8_unit ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [7:0] iclk_data_i; + output wire [7:0] iclk_data_o; + output wire [7:0] oclk_data_o; + reg [7:0] bsg_SYNC_LNCH_r; + assign iclk_data_o = bsg_SYNC_LNCH_r; + always @(negedge iclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_LNCH_r <= {8 {1'b0}}; + else + bsg_SYNC_LNCH_r <= iclk_data_i; + reg [7:0] bsg_SYNC_1_r; + reg [7:0] bsg_SYNC_2_r; + assign oclk_data_o = bsg_SYNC_2_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_1_r <= {8 {1'b0}}; + else + bsg_SYNC_1_r <= bsg_SYNC_LNCH_r; + always @(posedge oclk_i or posedge iclk_reset_i) + if (iclk_reset_i) + bsg_SYNC_2_r <= {8 {1'b0}}; + else + bsg_SYNC_2_r <= bsg_SYNC_1_r; +endmodule +module bsg_launch_sync_sync ( + iclk_i, + iclk_reset_i, + oclk_i, + iclk_data_i, + iclk_data_o, + oclk_data_o +); + parameter width_p = 0; + parameter use_negedge_for_launch_p = 0; + parameter use_async_reset_p = 0; + input iclk_i; + input iclk_reset_i; + input oclk_i; + input [width_p - 1:0] iclk_data_i; + output wire [width_p - 1:0] iclk_data_o; + output wire [width_p - 1:0] oclk_data_o; + genvar _gv_i_1; + generate + if (use_async_reset_p == 0) begin : sync + if (use_negedge_for_launch_p) begin : n + for (_gv_i_1 = 0; _gv_i_1 < (width_p / 8); _gv_i_1 = _gv_i_1 + 1) begin : maxb + localparam i = _gv_i_1; + bsg_launch_sync_sync_negedge_8_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[i * 8+:8]), + .iclk_data_o(iclk_data_o[i * 8+:8]), + .oclk_data_o(oclk_data_o[i * 8+:8]) + ); + end + if ((width_p % 8) == 1) begin : z + bsg_launch_sync_sync_negedge_1_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:1]), + .iclk_data_o(iclk_data_o[width_p - 1-:1]), + .oclk_data_o(oclk_data_o[width_p - 1-:1]) + ); + end + else if ((width_p % 8) == 2) begin : z + bsg_launch_sync_sync_negedge_2_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:2]), + .iclk_data_o(iclk_data_o[width_p - 1-:2]), + .oclk_data_o(oclk_data_o[width_p - 1-:2]) + ); + end + else if ((width_p % 8) == 3) begin : z + bsg_launch_sync_sync_negedge_3_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:3]), + .iclk_data_o(iclk_data_o[width_p - 1-:3]), + .oclk_data_o(oclk_data_o[width_p - 1-:3]) + ); + end + else if ((width_p % 8) == 4) begin : z + bsg_launch_sync_sync_negedge_4_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:4]), + .iclk_data_o(iclk_data_o[width_p - 1-:4]), + .oclk_data_o(oclk_data_o[width_p - 1-:4]) + ); + end + else if ((width_p % 8) == 5) begin : z + bsg_launch_sync_sync_negedge_5_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:5]), + .iclk_data_o(iclk_data_o[width_p - 1-:5]), + .oclk_data_o(oclk_data_o[width_p - 1-:5]) + ); + end + else if ((width_p % 8) == 6) begin : z + bsg_launch_sync_sync_negedge_6_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:6]), + .iclk_data_o(iclk_data_o[width_p - 1-:6]), + .oclk_data_o(oclk_data_o[width_p - 1-:6]) + ); + end + else if ((width_p % 8) == 7) begin : z + bsg_launch_sync_sync_negedge_7_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:7]), + .iclk_data_o(iclk_data_o[width_p - 1-:7]), + .oclk_data_o(oclk_data_o[width_p - 1-:7]) + ); + end + end + else begin : p + for (_gv_i_1 = 0; _gv_i_1 < (width_p / 8); _gv_i_1 = _gv_i_1 + 1) begin : maxb + localparam i = _gv_i_1; + bsg_launch_sync_sync_posedge_8_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[i * 8+:8]), + .iclk_data_o(iclk_data_o[i * 8+:8]), + .oclk_data_o(oclk_data_o[i * 8+:8]) + ); + end + if ((width_p % 8) == 1) begin : z + bsg_launch_sync_sync_posedge_1_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:1]), + .iclk_data_o(iclk_data_o[width_p - 1-:1]), + .oclk_data_o(oclk_data_o[width_p - 1-:1]) + ); + end + else if ((width_p % 8) == 2) begin : z + bsg_launch_sync_sync_posedge_2_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:2]), + .iclk_data_o(iclk_data_o[width_p - 1-:2]), + .oclk_data_o(oclk_data_o[width_p - 1-:2]) + ); + end + else if ((width_p % 8) == 3) begin : z + bsg_launch_sync_sync_posedge_3_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:3]), + .iclk_data_o(iclk_data_o[width_p - 1-:3]), + .oclk_data_o(oclk_data_o[width_p - 1-:3]) + ); + end + else if ((width_p % 8) == 4) begin : z + bsg_launch_sync_sync_posedge_4_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:4]), + .iclk_data_o(iclk_data_o[width_p - 1-:4]), + .oclk_data_o(oclk_data_o[width_p - 1-:4]) + ); + end + else if ((width_p % 8) == 5) begin : z + bsg_launch_sync_sync_posedge_5_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:5]), + .iclk_data_o(iclk_data_o[width_p - 1-:5]), + .oclk_data_o(oclk_data_o[width_p - 1-:5]) + ); + end + else if ((width_p % 8) == 6) begin : z + bsg_launch_sync_sync_posedge_6_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:6]), + .iclk_data_o(iclk_data_o[width_p - 1-:6]), + .oclk_data_o(oclk_data_o[width_p - 1-:6]) + ); + end + else if ((width_p % 8) == 7) begin : z + bsg_launch_sync_sync_posedge_7_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:7]), + .iclk_data_o(iclk_data_o[width_p - 1-:7]), + .oclk_data_o(oclk_data_o[width_p - 1-:7]) + ); + end + end + end + else begin : async + if (use_negedge_for_launch_p) begin : n + for (_gv_i_1 = 0; _gv_i_1 < (width_p / 8); _gv_i_1 = _gv_i_1 + 1) begin : maxb + localparam i = _gv_i_1; + bsg_launch_sync_sync_async_reset_negedge_8_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[i * 8+:8]), + .iclk_data_o(iclk_data_o[i * 8+:8]), + .oclk_data_o(oclk_data_o[i * 8+:8]) + ); + end + if ((width_p % 8) == 1) begin : z + bsg_launch_sync_sync_async_reset_negedge_1_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:1]), + .iclk_data_o(iclk_data_o[width_p - 1-:1]), + .oclk_data_o(oclk_data_o[width_p - 1-:1]) + ); + end + else if ((width_p % 8) == 2) begin : z + bsg_launch_sync_sync_async_reset_negedge_2_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:2]), + .iclk_data_o(iclk_data_o[width_p - 1-:2]), + .oclk_data_o(oclk_data_o[width_p - 1-:2]) + ); + end + else if ((width_p % 8) == 3) begin : z + bsg_launch_sync_sync_async_reset_negedge_3_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:3]), + .iclk_data_o(iclk_data_o[width_p - 1-:3]), + .oclk_data_o(oclk_data_o[width_p - 1-:3]) + ); + end + else if ((width_p % 8) == 4) begin : z + bsg_launch_sync_sync_async_reset_negedge_4_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:4]), + .iclk_data_o(iclk_data_o[width_p - 1-:4]), + .oclk_data_o(oclk_data_o[width_p - 1-:4]) + ); + end + else if ((width_p % 8) == 5) begin : z + bsg_launch_sync_sync_async_reset_negedge_5_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:5]), + .iclk_data_o(iclk_data_o[width_p - 1-:5]), + .oclk_data_o(oclk_data_o[width_p - 1-:5]) + ); + end + else if ((width_p % 8) == 6) begin : z + bsg_launch_sync_sync_async_reset_negedge_6_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:6]), + .iclk_data_o(iclk_data_o[width_p - 1-:6]), + .oclk_data_o(oclk_data_o[width_p - 1-:6]) + ); + end + else if ((width_p % 8) == 7) begin : z + bsg_launch_sync_sync_async_reset_negedge_7_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:7]), + .iclk_data_o(iclk_data_o[width_p - 1-:7]), + .oclk_data_o(oclk_data_o[width_p - 1-:7]) + ); + end + end + else begin : p + for (_gv_i_1 = 0; _gv_i_1 < (width_p / 8); _gv_i_1 = _gv_i_1 + 1) begin : maxb + localparam i = _gv_i_1; + bsg_launch_sync_sync_async_reset_posedge_8_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[i * 8+:8]), + .iclk_data_o(iclk_data_o[i * 8+:8]), + .oclk_data_o(oclk_data_o[i * 8+:8]) + ); + end + if ((width_p % 8) == 1) begin : z + bsg_launch_sync_sync_async_reset_posedge_1_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:1]), + .iclk_data_o(iclk_data_o[width_p - 1-:1]), + .oclk_data_o(oclk_data_o[width_p - 1-:1]) + ); + end + else if ((width_p % 8) == 2) begin : z + bsg_launch_sync_sync_async_reset_posedge_2_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:2]), + .iclk_data_o(iclk_data_o[width_p - 1-:2]), + .oclk_data_o(oclk_data_o[width_p - 1-:2]) + ); + end + else if ((width_p % 8) == 3) begin : z + bsg_launch_sync_sync_async_reset_posedge_3_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:3]), + .iclk_data_o(iclk_data_o[width_p - 1-:3]), + .oclk_data_o(oclk_data_o[width_p - 1-:3]) + ); + end + else if ((width_p % 8) == 4) begin : z + bsg_launch_sync_sync_async_reset_posedge_4_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:4]), + .iclk_data_o(iclk_data_o[width_p - 1-:4]), + .oclk_data_o(oclk_data_o[width_p - 1-:4]) + ); + end + else if ((width_p % 8) == 5) begin : z + bsg_launch_sync_sync_async_reset_posedge_5_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:5]), + .iclk_data_o(iclk_data_o[width_p - 1-:5]), + .oclk_data_o(oclk_data_o[width_p - 1-:5]) + ); + end + else if ((width_p % 8) == 6) begin : z + bsg_launch_sync_sync_async_reset_posedge_6_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:6]), + .iclk_data_o(iclk_data_o[width_p - 1-:6]), + .oclk_data_o(oclk_data_o[width_p - 1-:6]) + ); + end + else if ((width_p % 8) == 7) begin : z + bsg_launch_sync_sync_async_reset_posedge_7_unit blss( + .iclk_i(iclk_i), + .iclk_reset_i(iclk_reset_i), + .oclk_i(oclk_i), + .iclk_data_i(iclk_data_i[width_p - 1-:7]), + .iclk_data_o(iclk_data_o[width_p - 1-:7]), + .oclk_data_o(oclk_data_o[width_p - 1-:7]) + ); + end + end + end + endgenerate +endmodule +module bsg_async_ptr_gray ( + w_clk_i, + w_reset_i, + w_inc_i, + r_clk_i, + w_ptr_binary_r_o, + w_ptr_gray_r_o, + w_ptr_gray_r_rsync_o +); + parameter lg_size_p = 0; + parameter use_negedge_for_launch_p = 0; + parameter use_async_reset_p = 0; + input w_clk_i; + input w_reset_i; + input w_inc_i; + input r_clk_i; + output wire [lg_size_p - 1:0] w_ptr_binary_r_o; + output wire [lg_size_p - 1:0] w_ptr_gray_r_o; + output wire [lg_size_p - 1:0] w_ptr_gray_r_rsync_o; + reg [lg_size_p - 1:0] w_ptr_r; + wire [lg_size_p - 1:0] w_ptr_n; + reg [lg_size_p - 1:0] w_ptr_p1_r; + wire [lg_size_p - 1:0] w_ptr_p1_n; + wire [lg_size_p - 1:0] w_ptr_p2; + wire [lg_size_p - 1:0] w_ptr_gray_n; + wire [lg_size_p - 1:0] w_ptr_gray_r; + wire [lg_size_p - 1:0] w_ptr_gray_r_rsync; + assign w_ptr_p2 = w_ptr_p1_r + 1'b1; + assign w_ptr_n = (w_inc_i ? w_ptr_p1_r : w_ptr_r); + assign w_ptr_p1_n = (w_inc_i ? w_ptr_p2 : w_ptr_p1_r); + assign w_ptr_gray_n = (w_inc_i ? (w_ptr_p1_r >> 1) ^ w_ptr_p1_r : w_ptr_gray_r); + generate + if (use_async_reset_p == 0) begin : sync + if (use_negedge_for_launch_p) begin : genblk1 + always @(negedge w_clk_i) + if (w_reset_i) begin + w_ptr_r <= 0; + w_ptr_p1_r <= 1; + end + else begin + w_ptr_r <= w_ptr_n; + w_ptr_p1_r <= w_ptr_p1_n; + end + end + else begin : genblk1 + always @(posedge w_clk_i) + if (w_reset_i) begin + w_ptr_r <= 0; + w_ptr_p1_r <= 1; + end + else begin + w_ptr_r <= w_ptr_n; + w_ptr_p1_r <= w_ptr_p1_n; + end + end + end + else begin : async + if (use_negedge_for_launch_p) begin : BSG_NO_CLOCK_GATE_1 + reg [lg_size_p - 1:0] async_reset_w_ptr_r; + reg [lg_size_p - 1:0] async_reset_w_ptr_p1_r; + wire [lg_size_p:1] sv2v_tmp_82246; + assign sv2v_tmp_82246 = async_reset_w_ptr_r; + always @(*) w_ptr_r = sv2v_tmp_82246; + wire [lg_size_p:1] sv2v_tmp_600B8; + assign sv2v_tmp_600B8 = async_reset_w_ptr_p1_r; + always @(*) w_ptr_p1_r = sv2v_tmp_600B8; + always @(negedge w_clk_i or posedge w_reset_i) + if (w_reset_i) begin + async_reset_w_ptr_r <= 0; + async_reset_w_ptr_p1_r <= 1; + end + else begin + async_reset_w_ptr_r <= w_ptr_n; + async_reset_w_ptr_p1_r <= w_ptr_p1_n; + end + end + else begin : BSG_NO_CLOCK_GATE_2 + reg [lg_size_p - 1:0] async_reset_w_ptr_r; + reg [lg_size_p - 1:0] async_reset_w_ptr_p1_r; + wire [lg_size_p:1] sv2v_tmp_82246; + assign sv2v_tmp_82246 = async_reset_w_ptr_r; + always @(*) w_ptr_r = sv2v_tmp_82246; + wire [lg_size_p:1] sv2v_tmp_600B8; + assign sv2v_tmp_600B8 = async_reset_w_ptr_p1_r; + always @(*) w_ptr_p1_r = sv2v_tmp_600B8; + always @(posedge w_clk_i or posedge w_reset_i) + if (w_reset_i) begin + async_reset_w_ptr_r <= 0; + async_reset_w_ptr_p1_r <= 1; + end + else begin + async_reset_w_ptr_r <= w_ptr_n; + async_reset_w_ptr_p1_r <= w_ptr_p1_n; + end + end + end + endgenerate + assign w_ptr_binary_r_o = w_ptr_r; + bsg_launch_sync_sync #( + .width_p(lg_size_p), + .use_negedge_for_launch_p(use_negedge_for_launch_p), + .use_async_reset_p(use_async_reset_p) + ) ptr_sync( + .iclk_i(w_clk_i), + .iclk_reset_i(w_reset_i), + .oclk_i(r_clk_i), + .iclk_data_i(w_ptr_gray_n), + .iclk_data_o(w_ptr_gray_r), + .oclk_data_o(w_ptr_gray_r_rsync) + ); + assign w_ptr_gray_r_o = w_ptr_gray_r; + assign w_ptr_gray_r_rsync_o = w_ptr_gray_r_rsync; +endmodule +module bsg_cache ( + clk_i, + reset_i, + cache_pkt_i, + v_i, + yumi_o, + data_o, + v_o, + yumi_i, + dma_pkt_o, + dma_pkt_v_o, + dma_pkt_yumi_i, + dma_data_i, + dma_data_v_i, + dma_data_ready_and_o, + dma_data_o, + dma_data_v_o, + dma_data_yumi_i, + v_we_o +); + reg _sv2v_0; + parameter addr_width_p = 0; + parameter data_width_p = 0; + parameter block_size_in_words_p = 0; + parameter sets_p = 0; + parameter ways_p = 0; + parameter word_tracking_p = 0; + parameter [31:0] amo_support_p = 17; + parameter dma_data_width_p = data_width_p; + localparam bsg_cache_pkt_width_lp = ((6 + addr_width_p) + data_width_p) + (data_width_p >> 3); + localparam bsg_cache_dma_pkt_width_lp = (1 + addr_width_p) + block_size_in_words_p; + localparam burst_size_in_words_lp = dma_data_width_p / data_width_p; + parameter debug_p = 0; + input clk_i; + input reset_i; + input [bsg_cache_pkt_width_lp - 1:0] cache_pkt_i; + input v_i; + output wire yumi_o; + output reg [data_width_p - 1:0] data_o; + output wire v_o; + input yumi_i; + output wire [bsg_cache_dma_pkt_width_lp - 1:0] dma_pkt_o; + output wire dma_pkt_v_o; + input dma_pkt_yumi_i; + input [dma_data_width_p - 1:0] dma_data_i; + input dma_data_v_i; + output wire dma_data_ready_and_o; + output wire [dma_data_width_p - 1:0] dma_data_o; + output wire dma_data_v_o; + input dma_data_yumi_i; + output wire v_we_o; + localparam lg_sets_lp = ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)); + localparam data_mask_width_lp = data_width_p >> 3; + localparam lg_data_mask_width_lp = ((data_mask_width_lp == 1) || (data_mask_width_lp == 0) ? 1 : $clog2(data_mask_width_lp)); + localparam lg_block_size_in_words_lp = ((block_size_in_words_p == 1) || (block_size_in_words_p == 0) ? 1 : $clog2(block_size_in_words_p)); + localparam block_offset_width_lp = (block_size_in_words_p > 1 ? lg_data_mask_width_lp + lg_block_size_in_words_lp : lg_data_mask_width_lp); + localparam way_offset_width_lp = (sets_p == 1 ? block_offset_width_lp : block_offset_width_lp + lg_sets_lp); + localparam tag_width_lp = (sets_p == 1 ? addr_width_p - block_offset_width_lp : (addr_width_p - lg_sets_lp) - block_offset_width_lp); + localparam tag_info_width_lp = tag_width_lp + 2; + localparam lg_ways_lp = ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)); + localparam stat_info_width_lp = (ways_p + ways_p) - 1; + localparam data_sel_mux_els_lp = (4 < (lg_data_mask_width_lp + 1) ? 4 : lg_data_mask_width_lp + 1); + localparam lg_data_sel_mux_els_lp = ((data_sel_mux_els_lp == 1) || (data_sel_mux_els_lp == 0) ? 1 : $clog2(data_sel_mux_els_lp)); + localparam lg_burst_size_in_words_lp = ((burst_size_in_words_lp == 1) || (burst_size_in_words_lp == 0) ? 1 : $clog2(burst_size_in_words_lp)); + localparam burst_len_lp = (block_size_in_words_p * data_width_p) / dma_data_width_p; + localparam lg_burst_len_lp = ((burst_len_lp == 1) || (burst_len_lp == 0) ? 1 : $clog2(burst_len_lp)); + localparam dma_data_mask_width_lp = dma_data_width_p >> 3; + localparam data_mem_els_lp = sets_p * burst_len_lp; + localparam lg_data_mem_els_lp = ((data_mem_els_lp == 1) || (data_mem_els_lp == 0) ? 1 : $clog2(data_mem_els_lp)); + localparam sbuf_data_mem_addr_offset_lp = (burst_len_lp == block_size_in_words_p ? lg_block_size_in_words_lp + $clog2(sets_p) : lg_burst_len_lp + $clog2(sets_p)); + wire [lg_ways_lp - 1:0] addr_way; + wire [lg_sets_lp - 1:0] addr_index; + wire [(((6 + addr_width_p) + data_width_p) + (data_width_p >> 3)) - 1:0] cache_pkt; + assign cache_pkt = cache_pkt_i; + wire [20:0] decode; + bsg_cache_decode decode0( + .opcode_i(cache_pkt[6 + (addr_width_p + (data_width_p + ((data_width_p >> 3) - 1)))-:((6 + (addr_width_p + (data_width_p + ((data_width_p >> 3) - 1)))) >= (addr_width_p + (data_width_p + ((data_width_p >> 3) + 0))) ? ((6 + (addr_width_p + (data_width_p + ((data_width_p >> 3) - 1)))) - (addr_width_p + (data_width_p + ((data_width_p >> 3) + 0)))) + 1 : ((addr_width_p + (data_width_p + ((data_width_p >> 3) + 0))) - (6 + (addr_width_p + (data_width_p + ((data_width_p >> 3) - 1))))) + 1)]), + .decode_o(decode) + ); + assign addr_way = cache_pkt[(addr_width_p + (data_width_p + ((data_width_p >> 3) - 1))) - ((addr_width_p - 1) - way_offset_width_lp)+:lg_ways_lp]; + assign addr_index = cache_pkt[(addr_width_p + (data_width_p + ((data_width_p >> 3) - 1))) - ((addr_width_p - 1) - block_offset_width_lp)+:lg_sets_lp]; + wire [lg_data_mem_els_lp - 1:0] ld_data_mem_addr; + generate + if (burst_len_lp == 1) begin : genblk1 + assign ld_data_mem_addr = addr_index; + end + else if (burst_len_lp == block_size_in_words_p) begin : genblk1 + assign ld_data_mem_addr = {{sets_p > 1 {addr_index}}, cache_pkt[(addr_width_p + (data_width_p + ((data_width_p >> 3) - 1))) - ((addr_width_p - 1) - lg_data_mask_width_lp)+:lg_block_size_in_words_lp]}; + end + else begin : genblk1 + assign ld_data_mem_addr = {addr_index, cache_pkt[(addr_width_p + (data_width_p + ((data_width_p >> 3) - 1))) - ((addr_width_p - 1) - (lg_data_mask_width_lp + lg_burst_size_in_words_lp))+:lg_burst_len_lp]}; + end + endgenerate + wire tl_we; + reg v_tl_r; + reg [20:0] decode_tl_r; + reg [data_mask_width_lp - 1:0] mask_tl_r; + reg [addr_width_p - 1:0] addr_tl_r; + reg [data_width_p - 1:0] data_tl_r; + wire sbuf_hazard; + always @(posedge clk_i) + if (reset_i) begin + v_tl_r <= 1'b0; + {mask_tl_r, addr_tl_r, data_tl_r, decode_tl_r} <= 1'sb0; + end + else if (tl_we) begin + v_tl_r <= v_i; + if (v_i) begin + mask_tl_r <= cache_pkt[(data_width_p >> 3) - 1-:data_width_p >> 3]; + addr_tl_r <= cache_pkt[addr_width_p + (data_width_p + ((data_width_p >> 3) - 1))-:((addr_width_p + (data_width_p + ((data_width_p >> 3) - 1))) >= (data_width_p + ((data_width_p >> 3) + 0)) ? ((addr_width_p + (data_width_p + ((data_width_p >> 3) - 1))) - (data_width_p + ((data_width_p >> 3) + 0))) + 1 : ((data_width_p + ((data_width_p >> 3) + 0)) - (addr_width_p + (data_width_p + ((data_width_p >> 3) - 1)))) + 1)]; + data_tl_r <= cache_pkt[data_width_p + ((data_width_p >> 3) - 1)-:((data_width_p + ((data_width_p >> 3) - 1)) >= ((data_width_p >> 3) + 0) ? ((data_width_p + ((data_width_p >> 3) - 1)) - ((data_width_p >> 3) + 0)) + 1 : (((data_width_p >> 3) + 0) - (data_width_p + ((data_width_p >> 3) - 1))) + 1)]; + decode_tl_r <= decode; + end + end + else if (sbuf_hazard) + v_tl_r <= 1'b0; + wire [lg_sets_lp - 1:0] addr_index_tl; + assign addr_index_tl = addr_tl_r[block_offset_width_lp+:lg_sets_lp]; + wire [lg_data_mem_els_lp - 1:0] recover_data_mem_addr; + generate + if (burst_len_lp == 1) begin : genblk2 + assign recover_data_mem_addr = addr_index_tl; + end + else if (burst_len_lp == block_size_in_words_p) begin : genblk2 + assign recover_data_mem_addr = {{sets_p > 1 {addr_index_tl}}, addr_tl_r[lg_data_mask_width_lp+:lg_block_size_in_words_lp]}; + end + else begin : genblk2 + assign recover_data_mem_addr = {addr_index_tl, addr_tl_r[lg_data_mask_width_lp + lg_burst_size_in_words_lp+:lg_burst_len_lp]}; + end + endgenerate + wire tag_mem_v_li; + wire tag_mem_w_li; + reg [lg_sets_lp - 1:0] tag_mem_addr_li; + reg [(ways_p * (2 + tag_width_lp)) - 1:0] tag_mem_data_li; + reg [(ways_p * (2 + tag_width_lp)) - 1:0] tag_mem_w_mask_li; + wire [(ways_p * (2 + tag_width_lp)) - 1:0] tag_mem_data_lo; + bsg_mem_1rw_sync_mask_write_bit #( + .width_p(tag_info_width_lp * ways_p), + .els_p(sets_p), + .latch_last_read_p(1) + ) tag_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(tag_mem_v_li), + .w_i(tag_mem_w_li), + .addr_i(tag_mem_addr_li), + .data_i(tag_mem_data_li), + .w_mask_i(tag_mem_w_mask_li), + .data_o(tag_mem_data_lo) + ); + wire [ways_p - 1:0] valid_tl; + wire [(ways_p * tag_width_lp) - 1:0] tag_tl; + wire [ways_p - 1:0] lock_tl; + genvar _gv_i_3; + generate + for (_gv_i_3 = 0; _gv_i_3 < ways_p; _gv_i_3 = _gv_i_3 + 1) begin : genblk3 + localparam i = _gv_i_3; + assign valid_tl[i] = tag_mem_data_lo[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)]; + assign tag_tl[i * tag_width_lp+:tag_width_lp] = tag_mem_data_lo[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp]; + assign lock_tl[i] = tag_mem_data_lo[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)]; + end + endgenerate + wire data_mem_v_li; + wire data_mem_w_li; + wire [lg_data_mem_els_lp - 1:0] data_mem_addr_li; + wire [(ways_p * dma_data_width_p) - 1:0] data_mem_data_li; + wire [(ways_p * dma_data_mask_width_lp) - 1:0] data_mem_w_mask_li; + wire [(ways_p * dma_data_width_p) - 1:0] data_mem_data_lo; + bsg_mem_1rw_sync_mask_write_byte #( + .data_width_p(dma_data_width_p * ways_p), + .els_p(data_mem_els_lp), + .latch_last_read_p(1) + ) data_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(data_mem_v_li), + .w_i(data_mem_w_li), + .addr_i(data_mem_addr_li), + .data_i(data_mem_data_li), + .write_mask_i(data_mem_w_mask_li), + .data_o(data_mem_data_lo) + ); + wire track_mem_v_li; + wire track_mem_w_li; + wire [lg_sets_lp - 1:0] track_mem_addr_li; + wire [(ways_p * block_size_in_words_p) - 1:0] track_mem_data_li; + wire [(ways_p * block_size_in_words_p) - 1:0] track_mem_w_mask_li; + wire [(ways_p * block_size_in_words_p) - 1:0] track_mem_data_lo; + generate + if (word_tracking_p) begin : track_mem_gen + bsg_mem_1rw_sync_mask_write_bit #( + .width_p(block_size_in_words_p * ways_p), + .els_p(sets_p), + .latch_last_read_p(1) + ) track_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(track_mem_v_li), + .w_i(track_mem_w_li), + .addr_i(track_mem_addr_li), + .data_i(track_mem_data_li), + .w_mask_i(track_mem_w_mask_li), + .data_o(track_mem_data_lo) + ); + end + else begin : genblk4 + genvar _gv_i_4; + for (_gv_i_4 = 0; _gv_i_4 < ways_p; _gv_i_4 = _gv_i_4 + 1) begin : genblk1 + localparam i = _gv_i_4; + assign track_mem_data_lo[i * block_size_in_words_p+:block_size_in_words_p] = {block_size_in_words_p {1'b1}}; + end + end + endgenerate + wire v_we; + reg v_v_r; + reg [20:0] decode_v_r; + reg [data_mask_width_lp - 1:0] mask_v_r; + reg [addr_width_p - 1:0] addr_v_r; + reg [data_width_p - 1:0] data_v_r; + reg [ways_p - 1:0] valid_v_r; + reg [ways_p - 1:0] lock_v_r; + reg [(ways_p * tag_width_lp) - 1:0] tag_v_r; + reg [(ways_p * dma_data_width_p) - 1:0] ld_data_v_r; + reg [(ways_p * block_size_in_words_p) - 1:0] track_data_v_r; + wire retval_op_v; + always @(posedge clk_i) + if (reset_i) begin + v_v_r <= 1'b0; + {mask_v_r, decode_v_r, addr_v_r, data_v_r, valid_v_r, lock_v_r, tag_v_r, track_data_v_r} <= 1'sb0; + end + else if (v_we) begin + v_v_r <= v_tl_r; + if (v_tl_r) begin + mask_v_r <= mask_tl_r; + decode_v_r <= decode_tl_r; + addr_v_r <= addr_tl_r; + data_v_r <= data_tl_r; + valid_v_r <= valid_tl; + tag_v_r <= tag_tl; + lock_v_r <= lock_tl; + ld_data_v_r <= data_mem_data_lo; + track_data_v_r <= track_mem_data_lo; + end + end + assign v_we_o = v_we; + wire [tag_width_lp - 1:0] addr_tag_v; + wire [lg_sets_lp - 1:0] addr_index_v; + wire [lg_ways_lp - 1:0] addr_way_v; + wire [lg_block_size_in_words_lp - 1:0] addr_block_offset_v; + wire [ways_p - 1:0] tag_hit_v; + assign addr_tag_v = addr_v_r[way_offset_width_lp+:tag_width_lp]; + assign addr_index_v = addr_v_r[block_offset_width_lp+:lg_sets_lp]; + assign addr_way_v = addr_v_r[way_offset_width_lp+:lg_ways_lp]; + assign addr_block_offset_v = (block_size_in_words_p > 1 ? addr_v_r[lg_data_mask_width_lp+:lg_block_size_in_words_lp] : 1'b0); + genvar _gv_i_5; + generate + for (_gv_i_5 = 0; _gv_i_5 < ways_p; _gv_i_5 = _gv_i_5 + 1) begin : genblk5 + localparam i = _gv_i_5; + assign tag_hit_v[i] = (addr_tag_v == tag_v_r[i * tag_width_lp+:tag_width_lp]) & valid_v_r[i]; + end + endgenerate + wire [lg_ways_lp - 1:0] tag_hit_way_id; + wire tag_hit_found; + bsg_priority_encode #( + .width_p(ways_p), + .lo_to_hi_p(1) + ) tag_hit_pe( + .i(tag_hit_v), + .addr_o(tag_hit_way_id), + .v_o(tag_hit_found) + ); + wire bypass_track_lo; + wire partial_st = decode[15] & (decode[17] ? ~(&cache_pkt[(data_width_p >> 3) - 1-:data_width_p >> 3]) : decode[20-:2] < lg_data_mask_width_lp); + wire partial_st_tl = decode_tl_r[15] & (decode_tl_r[17] ? ~(&mask_tl_r) : decode_tl_r[20-:2] < lg_data_mask_width_lp); + wire partial_st_v = decode_v_r[15] & (decode_v_r[17] ? ~(&mask_v_r) : decode_v_r[20-:2] < lg_data_mask_width_lp); + wire ld_st_amo_tag_miss = ((decode_v_r[16] | decode_v_r[15]) | decode_v_r[4]) & ~tag_hit_found; + wire track_miss = (((decode_v_r[16] | decode_v_r[4]) | partial_st_v) & tag_hit_found) & ~(track_data_v_r[(tag_hit_way_id * block_size_in_words_p) + addr_block_offset_v] | bypass_track_lo); + wire tagfl_hit = decode_v_r[13] & valid_v_r[addr_way_v]; + wire aflinv_hit = ((decode_v_r[10] | decode_v_r[9]) | decode_v_r[8]) & tag_hit_found; + wire alock_miss = decode_v_r[7] & (tag_hit_found ? ~lock_v_r[tag_hit_way_id] : 1'b1); + wire aunlock_hit = decode_v_r[6] & (tag_hit_found ? lock_v_r[tag_hit_way_id] : 1'b0); + wire miss_v = (~decode_v_r[14] & v_v_r) & (((((ld_st_amo_tag_miss | track_miss) | tagfl_hit) | aflinv_hit) | alock_miss) | aunlock_hit); + assign retval_op_v = ((decode_v_r[16] | decode_v_r[12]) | decode_v_r[11]) | decode_v_r[4]; + reg stat_mem_v_li; + reg stat_mem_w_li; + reg [lg_sets_lp - 1:0] stat_mem_addr_li; + reg [(ways_p + ((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)) - 1:0] stat_mem_data_li; + reg [(ways_p + ((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)) - 1:0] stat_mem_w_mask_li; + wire [(ways_p + ((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)) - 1:0] stat_mem_data_lo; + bsg_mem_1rw_sync_mask_write_bit #( + .width_p(stat_info_width_lp), + .els_p(sets_p), + .latch_last_read_p(1) + ) stat_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(stat_mem_v_li), + .w_i(stat_mem_w_li), + .addr_i(stat_mem_addr_li), + .data_i(stat_mem_data_li), + .w_mask_i(stat_mem_w_mask_li), + .data_o(stat_mem_data_lo) + ); + wire [3:0] dma_cmd_lo; + wire [addr_width_p - 1:0] dma_addr_lo; + wire [lg_ways_lp - 1:0] dma_way_lo; + wire dma_done_li; + wire recover_lo; + wire miss_done_lo; + wire miss_stat_mem_v_lo; + wire miss_stat_mem_w_lo; + wire [lg_sets_lp - 1:0] miss_stat_mem_addr_lo; + wire [(ways_p + ((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)) - 1:0] miss_stat_mem_data_lo; + wire [(ways_p + ((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)) - 1:0] miss_stat_mem_w_mask_lo; + wire miss_tag_mem_v_lo; + wire miss_tag_mem_w_lo; + wire [lg_sets_lp - 1:0] miss_tag_mem_addr_lo; + wire [(ways_p * (2 + tag_width_lp)) - 1:0] miss_tag_mem_data_lo; + wire [(ways_p * (2 + tag_width_lp)) - 1:0] miss_tag_mem_w_mask_lo; + wire miss_track_mem_v_lo; + wire miss_track_mem_w_lo; + wire [lg_sets_lp - 1:0] miss_track_mem_addr_lo; + wire [(ways_p * block_size_in_words_p) - 1:0] miss_track_mem_w_mask_lo; + wire [(ways_p * block_size_in_words_p) - 1:0] miss_track_mem_data_lo; + wire sbuf_empty_lo; + wire tbuf_empty_lo; + wire [lg_ways_lp - 1:0] chosen_way_lo; + wire select_snoop_data_r_lo; + wire miss_track_data_we_lo; + bsg_cache_miss #( + .addr_width_p(addr_width_p), + .data_width_p(data_width_p), + .sets_p(sets_p), + .block_size_in_words_p(block_size_in_words_p), + .ways_p(ways_p), + .word_tracking_p(word_tracking_p) + ) miss( + .clk_i(clk_i), + .reset_i(reset_i), + .miss_v_i(miss_v), + .track_miss_i(track_miss), + .decode_v_i(decode_v_r), + .addr_v_i(addr_v_r), + .mask_v_i(mask_v_r), + .tag_v_i(tag_v_r), + .valid_v_i(valid_v_r), + .lock_v_i(lock_v_r), + .tag_hit_v_i(tag_hit_v), + .tag_hit_way_id_i(tag_hit_way_id), + .tag_hit_found_i(tag_hit_found), + .sbuf_empty_i(sbuf_empty_lo), + .tbuf_empty_i(tbuf_empty_lo), + .dma_cmd_o(dma_cmd_lo), + .dma_way_o(dma_way_lo), + .dma_addr_o(dma_addr_lo), + .dma_done_i(dma_done_li), + .track_data_we_o(miss_track_data_we_lo), + .stat_info_i(stat_mem_data_lo), + .stat_mem_v_o(miss_stat_mem_v_lo), + .stat_mem_w_o(miss_stat_mem_w_lo), + .stat_mem_addr_o(miss_stat_mem_addr_lo), + .stat_mem_data_o(miss_stat_mem_data_lo), + .stat_mem_w_mask_o(miss_stat_mem_w_mask_lo), + .tag_mem_v_o(miss_tag_mem_v_lo), + .tag_mem_w_o(miss_tag_mem_w_lo), + .tag_mem_addr_o(miss_tag_mem_addr_lo), + .tag_mem_data_o(miss_tag_mem_data_lo), + .tag_mem_w_mask_o(miss_tag_mem_w_mask_lo), + .track_mem_v_o(miss_track_mem_v_lo), + .track_mem_w_o(miss_track_mem_w_lo), + .track_mem_addr_o(miss_track_mem_addr_lo), + .track_mem_w_mask_o(miss_track_mem_w_mask_lo), + .track_mem_data_o(miss_track_mem_data_lo), + .recover_o(recover_lo), + .done_o(miss_done_lo), + .chosen_way_o(chosen_way_lo), + .ack_i(v_o & yumi_i), + .select_snoop_data_r_o(select_snoop_data_r_lo) + ); + wire [data_width_p - 1:0] snoop_word_lo; + wire dma_data_mem_v_lo; + wire dma_data_mem_w_lo; + wire [lg_data_mem_els_lp - 1:0] dma_data_mem_addr_lo; + wire [(ways_p * dma_data_mask_width_lp) - 1:0] dma_data_mem_w_mask_lo; + wire [(ways_p * dma_data_width_p) - 1:0] dma_data_mem_data_lo; + wire dma_evict_lo; + bsg_cache_dma #( + .addr_width_p(addr_width_p), + .data_width_p(data_width_p), + .block_size_in_words_p(block_size_in_words_p), + .sets_p(sets_p), + .ways_p(ways_p), + .word_tracking_p(word_tracking_p), + .dma_data_width_p(dma_data_width_p), + .debug_p(debug_p) + ) dma( + .clk_i(clk_i), + .reset_i(reset_i), + .dma_cmd_i(dma_cmd_lo), + .dma_way_i(dma_way_lo), + .dma_addr_i(dma_addr_lo), + .done_o(dma_done_li), + .track_data_we_i(miss_track_data_we_lo), + .snoop_word_o(snoop_word_lo), + .dma_pkt_o(dma_pkt_o), + .dma_pkt_v_o(dma_pkt_v_o), + .dma_pkt_yumi_i(dma_pkt_yumi_i), + .dma_data_i(dma_data_i), + .dma_data_v_i(dma_data_v_i), + .dma_data_ready_and_o(dma_data_ready_and_o), + .dma_data_o(dma_data_o), + .dma_data_v_o(dma_data_v_o), + .dma_data_yumi_i(dma_data_yumi_i), + .data_mem_v_o(dma_data_mem_v_lo), + .data_mem_w_o(dma_data_mem_w_lo), + .data_mem_addr_o(dma_data_mem_addr_lo), + .data_mem_w_mask_o(dma_data_mem_w_mask_lo), + .data_mem_data_o(dma_data_mem_data_lo), + .data_mem_data_i(data_mem_data_lo), + .track_miss_i(track_miss), + .track_mem_data_i(track_mem_data_lo), + .dma_evict_o(dma_evict_lo) + ); + wire sbuf_v_li; + reg [(((addr_width_p + data_width_p) + (data_width_p >> 3)) + ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p))) - 1:0] sbuf_entry_li; + wire sbuf_v_lo; + wire sbuf_yumi_li; + wire [(((addr_width_p + data_width_p) + (data_width_p >> 3)) + ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p))) - 1:0] sbuf_entry_lo; + wire [addr_width_p - 1:0] sbuf_bypass_addr_li; + wire sbuf_bypass_v_li; + wire [data_width_p - 1:0] bypass_data_lo; + wire [data_mask_width_lp - 1:0] bypass_mask_lo; + wire sbuf_full_lo; + bsg_cache_sbuf #( + .data_width_p(data_width_p), + .addr_width_p(addr_width_p), + .ways_p(ways_p) + ) sbuf( + .clk_i(clk_i), + .reset_i(reset_i), + .sbuf_entry_i(sbuf_entry_li), + .v_i(sbuf_v_li), + .sbuf_entry_o(sbuf_entry_lo), + .v_o(sbuf_v_lo), + .yumi_i(sbuf_yumi_li), + .empty_o(sbuf_empty_lo), + .full_o(sbuf_full_lo), + .bypass_addr_i(sbuf_bypass_addr_li), + .bypass_v_i(sbuf_bypass_v_li), + .bypass_data_o(bypass_data_lo), + .bypass_mask_o(bypass_mask_lo) + ); + wire [ways_p - 1:0] sbuf_way_decode; + bsg_decode #(.num_out_p(ways_p)) sbuf_way_demux( + .i(sbuf_entry_lo[((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1-:((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p))]), + .o(sbuf_way_decode) + ); + wire [burst_size_in_words_lp - 1:0] sbuf_burst_offset_decode; + bsg_decode #(.num_out_p(burst_size_in_words_lp)) sbuf_bo_demux( + .i(sbuf_entry_lo[(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - lg_data_mask_width_lp)+:lg_burst_size_in_words_lp]), + .o(sbuf_burst_offset_decode) + ); + wire [dma_data_mask_width_lp - 1:0] sbuf_expand_mask; + bsg_expand_bitmask #( + .in_width_p(burst_size_in_words_lp), + .expand_p(data_mask_width_lp) + ) expand0( + .i(sbuf_burst_offset_decode), + .o(sbuf_expand_mask) + ); + wire [(ways_p * dma_data_mask_width_lp) - 1:0] sbuf_data_mem_w_mask; + wire [(ways_p * dma_data_width_p) - 1:0] sbuf_data_mem_data; + wire [lg_data_mem_els_lp - 1:0] sbuf_data_mem_addr; + genvar _gv_i_6; + generate + for (_gv_i_6 = 0; _gv_i_6 < ways_p; _gv_i_6 = _gv_i_6 + 1) begin : genblk6 + localparam i = _gv_i_6; + assign sbuf_data_mem_data[i * dma_data_width_p+:dma_data_width_p] = {burst_size_in_words_lp {sbuf_entry_lo[data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))-:((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) >= ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) ? ((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) + 1 : (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) - (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) + 1)]}}; + assign sbuf_data_mem_w_mask[i * dma_data_mask_width_lp+:dma_data_mask_width_lp] = (sbuf_way_decode[i] ? sbuf_expand_mask & {burst_size_in_words_lp {sbuf_entry_lo[(data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)-:(((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) >= (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) ? (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) - (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) + 1 : ((((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) + 1)]}} : {dma_data_mask_width_lp * 1 {1'sb0}}); + end + if (burst_len_lp == 1) begin : genblk7 + assign sbuf_data_mem_addr = sbuf_entry_lo[(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - block_offset_width_lp)+:lg_sets_lp]; + end + else if (burst_len_lp == block_size_in_words_p) begin : genblk7 + assign sbuf_data_mem_addr = sbuf_entry_lo[(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - lg_data_mask_width_lp)+:sbuf_data_mem_addr_offset_lp]; + end + else begin : genblk7 + assign sbuf_data_mem_addr = sbuf_entry_lo[(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - (lg_data_mask_width_lp + lg_burst_size_in_words_lp))+:sbuf_data_mem_addr_offset_lp]; + end + endgenerate + wire [(data_sel_mux_els_lp * data_width_p) - 1:0] sbuf_data_in_mux_li; + wire [(data_sel_mux_els_lp * data_mask_width_lp) - 1:0] sbuf_mask_in_mux_li; + wire [data_width_p - 1:0] sbuf_data_in; + wire [data_mask_width_lp - 1:0] sbuf_mask_in; + wire [data_width_p - 1:0] snoop_or_ld_data; + wire [(data_sel_mux_els_lp * data_width_p) - 1:0] ld_data_final_li; + wire [data_width_p - 1:0] ld_data_final_lo; + bsg_mux #( + .width_p(data_width_p), + .els_p(data_sel_mux_els_lp) + ) sbuf_data_in_mux( + .data_i(sbuf_data_in_mux_li), + .sel_i(decode_v_r[19+:lg_data_sel_mux_els_lp]), + .data_o(sbuf_data_in) + ); + bsg_mux #( + .width_p(data_mask_width_lp), + .els_p(data_sel_mux_els_lp) + ) sbuf_mask_in_mux( + .data_i(sbuf_mask_in_mux_li), + .sel_i(decode_v_r[19+:lg_data_sel_mux_els_lp]), + .data_o(sbuf_mask_in) + ); + wire [(data_width_p < 64 ? data_width_p : 64) - 1:0] atomic_reg_data; + wire [(data_width_p < 64 ? data_width_p : 64) - 1:0] atomic_mem_data; + reg [(data_width_p < 64 ? data_width_p : 64) - 1:0] atomic_alu_result; + wire [(data_width_p < 64 ? data_width_p : 64) - 1:0] atomic_result; + generate + if (data_width_p >= 64) begin : atomic_64 + wire [63:0] amo32_reg_in = data_v_r[0+:32] << 32; + wire [63:0] amo64_reg_in = data_v_r[0+:64]; + assign atomic_reg_data = (decode_v_r[19] ? amo64_reg_in : amo32_reg_in); + wire [63:0] amo32_mem_in = ld_data_final_li[2 * data_width_p+:32] << 32; + wire [63:0] amo64_mem_in = ld_data_final_li[3 * data_width_p+:64]; + assign atomic_mem_data = (decode_v_r[19] ? amo64_mem_in : amo32_mem_in); + end + else if (data_width_p >= 32) begin : atomic_32 + assign atomic_reg_data = data_v_r[0+:32]; + assign atomic_mem_data = ld_data_final_li[2 * data_width_p+:data_width_p]; + end + endgenerate + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({amo_support_p[decode_v_r[3-:4]], decode_v_r[3-:4]}) + 5'b10000: atomic_alu_result = atomic_reg_data; + 5'b10011: atomic_alu_result = atomic_reg_data & atomic_mem_data; + 5'b10100: atomic_alu_result = atomic_reg_data | atomic_mem_data; + 5'b10010: atomic_alu_result = atomic_reg_data ^ atomic_mem_data; + 5'b10001: atomic_alu_result = atomic_reg_data + atomic_mem_data; + 5'b10101: atomic_alu_result = ($signed(atomic_reg_data) < $signed(atomic_mem_data) ? atomic_reg_data : atomic_mem_data); + 5'b10110: atomic_alu_result = ($signed(atomic_reg_data) > $signed(atomic_mem_data) ? atomic_reg_data : atomic_mem_data); + 5'b10111: atomic_alu_result = (atomic_reg_data < atomic_mem_data ? atomic_reg_data : atomic_mem_data); + 5'b11000: atomic_alu_result = (atomic_reg_data > atomic_mem_data ? atomic_reg_data : atomic_mem_data); + 5'b0zzzz: atomic_alu_result = 1'sbx; + default: atomic_alu_result = 1'sb0; + endcase + end + generate + if (data_width_p >= 64) begin : fi + wire [63:0] amo32_out = atomic_alu_result >> 32; + wire [63:0] amo64_out = atomic_alu_result; + assign atomic_result = (decode_v_r[19] ? amo64_out : amo32_out); + end + else begin : genblk9 + assign atomic_result = atomic_alu_result; + end + endgenerate + genvar _gv_i_7; + generate + for (_gv_i_7 = 0; _gv_i_7 < data_sel_mux_els_lp; _gv_i_7 = _gv_i_7 + 1) begin : sbuf_in_sel + localparam i = _gv_i_7; + localparam slice_width_lp = 8 * (2 ** i); + wire [slice_width_lp - 1:0] slice_data; + if ((i == 2'b10) || (i == 2'b11)) begin : atomic_in_sel + assign slice_data = (decode_v_r[4] ? atomic_result[0+:slice_width_lp] : data_v_r[0+:slice_width_lp]); + end + else begin : genblk1 + assign slice_data = data_v_r[0+:slice_width_lp]; + end + assign sbuf_data_in_mux_li[i * data_width_p+:data_width_p] = {data_width_p / slice_width_lp {slice_data}}; + wire [(data_width_p / slice_width_lp) - 1:0] decode_lo; + bsg_decode #(.num_out_p(data_width_p / slice_width_lp)) dec( + .i(addr_v_r[i+:((lg_data_mask_width_lp - i) > 1 ? lg_data_mask_width_lp - i : 1)]), + .o(decode_lo) + ); + bsg_expand_bitmask #( + .in_width_p(data_width_p / slice_width_lp), + .expand_p(2 ** i) + ) exp( + .i(decode_lo), + .o(sbuf_mask_in_mux_li[i * data_mask_width_lp+:data_mask_width_lp]) + ); + end + endgenerate + always @(*) begin + if (_sv2v_0) + ; + if (decode_v_r[17]) begin + sbuf_entry_li[data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))-:((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) >= ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) ? ((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) + 1 : (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) - (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) + 1)] = data_v_r; + sbuf_entry_li[(data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)-:(((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) >= (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) ? (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) - (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) + 1 : ((((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) + 1)] = mask_v_r; + end + else begin + sbuf_entry_li[data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))-:((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) >= ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) ? ((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) + 1 : (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) - (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) + 1)] = sbuf_data_in; + sbuf_entry_li[(data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)-:(((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) >= (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) ? (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) - (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) + 1 : ((((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) + 1)] = sbuf_mask_in; + end + end + wire tbuf_v_li; + wire [lg_ways_lp - 1:0] tbuf_way_li; + wire [addr_width_p - 1:0] tbuf_addr_li; + wire tbuf_v_lo; + wire tbuf_yumi_li; + wire [lg_ways_lp - 1:0] tbuf_way_lo; + wire [addr_width_p - 1:0] tbuf_addr_lo; + wire [addr_width_p - 1:0] tbuf_bypass_addr_li; + wire tbuf_bypass_v_li; + wire tbuf_full_lo; + generate + if (word_tracking_p) begin : tbuf_gen + bsg_cache_tbuf #( + .data_width_p(data_width_p), + .addr_width_p(addr_width_p), + .ways_p(ways_p) + ) tbuf( + .clk_i(clk_i), + .reset_i(reset_i), + .addr_i(tbuf_addr_li), + .way_i(tbuf_way_li), + .v_i(tbuf_v_li), + .addr_o(tbuf_addr_lo), + .way_o(tbuf_way_lo), + .v_o(tbuf_v_lo), + .yumi_i(tbuf_yumi_li), + .empty_o(tbuf_empty_lo), + .full_o(tbuf_full_lo), + .bypass_addr_i(tbuf_bypass_addr_li), + .bypass_v_i(tbuf_bypass_v_li), + .bypass_track_o(bypass_track_lo) + ); + end + else begin : genblk11 + assign tbuf_v_lo = 1'b0; + assign tbuf_empty_lo = 1'b1; + assign tbuf_full_lo = 1'b0; + assign bypass_track_lo = 1'b0; + end + endgenerate + wire [ways_p - 1:0] tbuf_way_decode; + bsg_decode #(.num_out_p(ways_p)) tbuf_way_demux( + .i(tbuf_way_lo), + .o(tbuf_way_decode) + ); + wire [block_size_in_words_p - 1:0] tbuf_word_offset_decode; + bsg_decode #(.num_out_p(block_size_in_words_p)) tbuf_wo_demux( + .i(tbuf_addr_lo[lg_data_mask_width_lp+:lg_block_size_in_words_lp]), + .o(tbuf_word_offset_decode) + ); + wire [lg_sets_lp - 1:0] tbuf_track_mem_addr; + wire [(ways_p * block_size_in_words_p) - 1:0] tbuf_track_mem_w_mask; + wire [(ways_p * block_size_in_words_p) - 1:0] tbuf_track_mem_data; + assign tbuf_track_mem_addr = tbuf_addr_lo[block_offset_width_lp+:lg_sets_lp]; + genvar _gv_i_8; + generate + for (_gv_i_8 = 0; _gv_i_8 < ways_p; _gv_i_8 = _gv_i_8 + 1) begin : genblk12 + localparam i = _gv_i_8; + assign tbuf_track_mem_data[i * block_size_in_words_p+:block_size_in_words_p] = {block_size_in_words_p {1'b1}}; + assign tbuf_track_mem_w_mask[i * block_size_in_words_p+:block_size_in_words_p] = (tbuf_way_decode[i] ? tbuf_word_offset_decode : {block_size_in_words_p {1'b0}}); + end + endgenerate + wire [dma_data_width_p - 1:0] ld_data_way_picked; + wire [data_width_p - 1:0] ld_data_offset_picked; + wire [data_width_p - 1:0] bypass_data_masked; + wire [data_width_p - 1:0] ld_data_masked; + bsg_mux #( + .width_p(dma_data_width_p), + .els_p(ways_p) + ) ld_data_mux( + .data_i(ld_data_v_r), + .sel_i(tag_hit_way_id), + .data_o(ld_data_way_picked) + ); + bsg_mux #( + .width_p(data_width_p), + .els_p(burst_size_in_words_lp) + ) mux00( + .data_i(ld_data_way_picked), + .sel_i(addr_v_r[lg_data_mask_width_lp+:lg_burst_size_in_words_lp]), + .data_o(ld_data_offset_picked) + ); + bsg_mux_segmented #( + .segments_p(data_mask_width_lp), + .segment_width_p(8) + ) bypass_mux_segmented( + .data0_i(ld_data_offset_picked), + .data1_i(bypass_data_lo), + .sel_i(bypass_mask_lo), + .data_o(bypass_data_masked) + ); + assign snoop_or_ld_data = (select_snoop_data_r_lo ? snoop_word_lo : bypass_data_masked); + wire [data_width_p - 1:0] expanded_mask_v; + bsg_expand_bitmask #( + .in_width_p(data_mask_width_lp), + .expand_p(8) + ) mask_v_expand( + .i(mask_v_r), + .o(expanded_mask_v) + ); + assign ld_data_masked = snoop_or_ld_data & expanded_mask_v; + genvar _gv_i_9; + generate + for (_gv_i_9 = 0; _gv_i_9 < data_sel_mux_els_lp; _gv_i_9 = _gv_i_9 + 1) begin : ld_data_sel + localparam i = _gv_i_9; + wire [(8 * (2 ** i)) - 1:0] byte_sel; + bsg_mux #( + .width_p(8 * (2 ** i)), + .els_p(data_width_p / (8 * (2 ** i))) + ) byte_mux( + .data_i(snoop_or_ld_data), + .sel_i(addr_v_r[i+:((lg_data_mask_width_lp - i) > 1 ? lg_data_mask_width_lp - i : 1)]), + .data_o(byte_sel) + ); + assign ld_data_final_li[i * data_width_p+:data_width_p] = {{data_width_p - (8 * (2 ** i)) {decode_v_r[18] & byte_sel[(8 * (2 ** i)) - 1]}}, byte_sel}; + end + endgenerate + bsg_mux #( + .width_p(data_width_p), + .els_p(data_sel_mux_els_lp) + ) ld_data_size_mux( + .data_i(ld_data_final_li), + .sel_i(decode_v_r[19+:lg_data_sel_mux_els_lp]), + .data_o(ld_data_final_lo) + ); + always @(*) begin + if (_sv2v_0) + ; + if (retval_op_v) begin + if (decode_v_r[12]) + data_o = {{data_width_p - 2 {1'b0}}, lock_v_r[addr_way_v], valid_v_r[addr_way_v]}; + else if (decode_v_r[11]) + data_o = {tag_v_r[addr_way_v * tag_width_lp+:tag_width_lp], {sets_p > 1 {addr_index_v}}, {block_offset_width_lp {1'b0}}}; + else if (decode_v_r[17]) + data_o = ld_data_masked; + else + data_o = ld_data_final_lo; + end + else + data_o = 1'sb0; + end + assign v_o = v_v_r & (miss_v ? miss_done_lo : 1'b1); + assign v_we = (v_v_r ? v_o & yumi_i : 1'b1); + assign sbuf_hazard = (sbuf_full_lo & ((v_o & yumi_i) & (decode_v_r[15] | decode_v_r[4]))) & (v_i & (decode[16] | decode[4])); + wire tl_ready = (miss_v ? ((((~(decode[14] & v_i) & ~miss_tag_mem_v_lo) & ~miss_track_mem_v_lo) & ~dma_data_mem_v_lo) & ~recover_lo) & ~dma_evict_lo : 1'b1) & ~sbuf_hazard; + assign tl_we = tl_ready & (v_tl_r ? v_we : 1'b1); + assign yumi_o = v_i & tl_we; + wire tagst_valid; + wire tagst_lock; + wire [tag_width_lp - 1:0] tagst_tag; + wire tagst_write_en; + assign tagst_valid = cache_pkt[(data_width_p + ((data_width_p >> 3) - 1)) - ((data_width_p - 1) - (data_width_p - 1))]; + assign tagst_lock = cache_pkt[(data_width_p + ((data_width_p >> 3) - 1)) - ((data_width_p - 1) - (data_width_p - 2))]; + assign tagst_tag = cache_pkt[(data_width_p + ((data_width_p >> 3) - 1)) - (data_width_p - 1)+:tag_width_lp]; + assign tagst_write_en = decode[14] & yumi_o; + wire [ways_p - 1:0] addr_way_decode; + bsg_decode #(.num_out_p(ways_p)) addr_way_demux( + .i(addr_way), + .o(addr_way_decode) + ); + assign tag_mem_v_li = (((decode[5] & yumi_o) | ((recover_lo & decode_tl_r[5]) & v_tl_r)) | miss_tag_mem_v_lo) | (decode[14] & yumi_o); + assign tag_mem_w_li = (miss_v ? miss_tag_mem_v_lo & miss_tag_mem_w_lo : tagst_write_en); + always @(*) begin + if (_sv2v_0) + ; + if (miss_v) begin + tag_mem_addr_li = (recover_lo ? addr_index_tl : (miss_tag_mem_v_lo ? miss_tag_mem_addr_lo : addr_index)); + tag_mem_data_li = miss_tag_mem_data_lo; + tag_mem_w_mask_li = miss_tag_mem_w_mask_lo; + end + else begin + tag_mem_addr_li = addr_index; + begin : sv2v_autoblock_1 + integer i; + for (i = 0; i < ways_p; i = i + 1) + begin + tag_mem_data_li[i * (2 + tag_width_lp)+:2 + tag_width_lp] = {tagst_valid, tagst_lock, tagst_tag}; + tag_mem_w_mask_li[i * (2 + tag_width_lp)+:2 + tag_width_lp] = {tag_info_width_lp {addr_way_decode[i]}}; + end + end + end + end + assign data_mem_v_li = (((yumi_o & (decode[16] | decode[4])) | ((v_tl_r & recover_lo) & (decode_tl_r[16] | decode_tl_r[4]))) | dma_data_mem_v_lo) | (sbuf_v_lo & sbuf_yumi_li); + assign data_mem_w_li = dma_data_mem_w_lo | (sbuf_v_lo & sbuf_yumi_li); + assign data_mem_data_li = (dma_data_mem_w_lo ? dma_data_mem_data_lo : sbuf_data_mem_data); + assign data_mem_addr_li = (recover_lo ? recover_data_mem_addr : (dma_data_mem_v_lo ? dma_data_mem_addr_lo : ((decode[16] | decode[4]) & yumi_o ? ld_data_mem_addr : sbuf_data_mem_addr))); + assign data_mem_w_mask_li = (dma_data_mem_w_lo ? dma_data_mem_w_mask_lo : sbuf_data_mem_w_mask); + assign track_mem_v_li = (((yumi_o & ((decode[16] | decode[4]) | partial_st)) | ((v_tl_r & recover_lo) & ((decode_tl_r[16] | decode_tl_r[4]) | partial_st_tl))) | miss_track_mem_v_lo) | (tbuf_v_lo & tbuf_yumi_li); + assign track_mem_w_li = (miss_track_mem_v_lo ? miss_track_mem_w_lo : tbuf_v_lo & tbuf_yumi_li); + assign track_mem_data_li = (miss_track_mem_v_lo ? miss_track_mem_data_lo : tbuf_track_mem_data); + assign track_mem_w_mask_li = (miss_track_mem_v_lo ? miss_track_mem_w_mask_lo : tbuf_track_mem_w_mask); + assign track_mem_addr_li = (recover_lo ? addr_index_tl : (miss_track_mem_v_lo ? miss_track_mem_addr_lo : (((decode[16] | decode[4]) | partial_st) & yumi_o ? addr_index : tbuf_track_mem_addr))); + wire [ways_p - 2:0] plru_decode_data_lo; + wire [ways_p - 2:0] plru_decode_mask_lo; + bsg_lru_pseudo_tree_decode #(.ways_p(ways_p)) plru_decode( + .way_id_i(tag_hit_way_id), + .data_o(plru_decode_data_lo), + .mask_o(plru_decode_mask_lo) + ); + always @(*) begin + if (_sv2v_0) + ; + if (miss_v) begin + stat_mem_v_li = miss_stat_mem_v_lo; + stat_mem_w_li = miss_stat_mem_w_lo; + stat_mem_addr_li = miss_stat_mem_addr_lo; + stat_mem_data_li = miss_stat_mem_data_lo; + stat_mem_w_mask_li = miss_stat_mem_w_mask_lo; + end + else begin + stat_mem_v_li = ((((decode_v_r[15] | decode_v_r[16]) | decode_v_r[14]) | decode_v_r[4]) & v_o) & yumi_i; + stat_mem_w_li = ((((decode_v_r[15] | decode_v_r[16]) | decode_v_r[14]) | decode_v_r[4]) & v_o) & yumi_i; + stat_mem_addr_li = addr_index_v; + if (decode_v_r[14]) begin + stat_mem_data_li[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = {ways_p {1'b0}}; + stat_mem_data_li[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = {ways_p - 1 {1'b0}}; + stat_mem_w_mask_li[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = {ways_p {1'b1}}; + stat_mem_w_mask_li[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = {ways_p - 1 {1'b1}}; + end + else begin + stat_mem_data_li[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = {ways_p {decode_v_r[15] | decode_v_r[4]}}; + stat_mem_data_li[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = plru_decode_data_lo; + stat_mem_w_mask_li[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = {ways_p {decode_v_r[15] | decode_v_r[4]}} & tag_hit_v; + stat_mem_w_mask_li[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = plru_decode_mask_lo; + end + end + end + assign sbuf_v_li = ((decode_v_r[15] | decode_v_r[4]) & v_o) & yumi_i; + wire [((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) * 1:1] sv2v_tmp_42EDE; + assign sv2v_tmp_42EDE = (miss_v ? chosen_way_lo : tag_hit_way_id); + always @(*) sbuf_entry_li[((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1-:((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p))] = sv2v_tmp_42EDE; + wire [((addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) >= (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) ? ((addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)))) + 1 : ((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) - (addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))))) + 1) * 1:1] sv2v_tmp_F6A8C; + assign sv2v_tmp_F6A8C = addr_v_r; + always @(*) sbuf_entry_li[addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))-:((addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) >= (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) ? ((addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)))) + 1 : ((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) - (addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))))) + 1)] = sv2v_tmp_F6A8C; + assign sbuf_yumi_li = ((sbuf_v_lo & ~((decode[16] | decode[4]) & yumi_o)) & ~dma_data_mem_v_lo) & ~(((v_tl_r & (decode_tl_r[16] | decode_tl_r[4])) & ~v_we) & ~miss_v); + assign sbuf_bypass_addr_li = addr_tl_r; + assign sbuf_bypass_v_li = ((decode_tl_r[16] | decode_tl_r[4]) & v_tl_r) & v_we; + assign tbuf_v_li = ((decode_v_r[15] & ~partial_st_v) & v_o) & yumi_i; + assign tbuf_way_li = (miss_v ? chosen_way_lo : tag_hit_way_id); + assign tbuf_addr_li = addr_v_r; + assign tbuf_yumi_li = ((tbuf_v_lo & ~(((decode[16] | decode[4]) | partial_st) & yumi_o)) & ~miss_track_mem_v_lo) & ~(((v_tl_r & ((decode_tl_r[16] | decode_tl_r[4]) | partial_st_tl)) & ~v_we) & ~miss_v); + assign tbuf_bypass_addr_li = addr_tl_r; + assign tbuf_bypass_v_li = (((decode_tl_r[16] | decode_tl_r[4]) | partial_st_tl) & v_tl_r) & v_we; + always @(negedge clk_i) + if (~reset_i) begin + if (v_v_r) + ; + end + generate + if (debug_p) begin : genblk14 + always @(posedge clk_i) begin + if (v_o & yumi_i) begin + if (decode_v_r[16]) + $display(" M[%4h] == %8h // %8t", addr_v_r, data_o, $time); + if (decode_v_r[15]) + $display(" M[%4h] := %8h // %8t", addr_v_r, sbuf_entry_li[data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))-:((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) >= ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) ? ((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) + 1 : (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) - (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) + 1)], $time); + end + if (tag_mem_v_li & tag_mem_w_li) + $display(" tag_mem_write. addr=%8h data_1=%8h data_0=%8h mask_1=%8h mask_0=%8h // %8t", tag_mem_addr_li, tag_mem_data_li[(2 + tag_width_lp) * (1 + tag_width_lp)+:(2 + tag_width_lp) * (1 + tag_width_lp)], tag_mem_data_li[0+:(2 + tag_width_lp) * (1 + tag_width_lp)], tag_mem_w_mask_li[(2 + tag_width_lp) * (1 + tag_width_lp)+:(2 + tag_width_lp) * (1 + tag_width_lp)], tag_mem_w_mask_li[0+:(2 + tag_width_lp) * (1 + tag_width_lp)], $time); + end + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bsg_cache_dma ( + clk_i, + reset_i, + dma_cmd_i, + dma_way_i, + dma_addr_i, + done_o, + track_data_we_i, + snoop_word_o, + dma_pkt_o, + dma_pkt_v_o, + dma_pkt_yumi_i, + dma_data_i, + dma_data_v_i, + dma_data_ready_and_o, + dma_data_o, + dma_data_v_o, + dma_data_yumi_i, + data_mem_v_o, + data_mem_w_o, + data_mem_addr_o, + data_mem_w_mask_o, + data_mem_data_o, + data_mem_data_i, + track_miss_i, + track_mem_data_i, + dma_evict_o +); + reg _sv2v_0; + parameter addr_width_p = 0; + parameter data_width_p = 0; + parameter block_size_in_words_p = 0; + parameter sets_p = 0; + parameter ways_p = 0; + parameter word_tracking_p = 0; + parameter dma_data_width_p = data_width_p; + parameter lg_block_size_in_words_lp = ((block_size_in_words_p == 1) || (block_size_in_words_p == 0) ? 1 : $clog2(block_size_in_words_p)); + parameter lg_sets_lp = ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)); + parameter lg_ways_lp = ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)); + parameter data_mask_width_lp = data_width_p >> 3; + parameter dma_data_mask_width_lp = dma_data_width_p >> 3; + parameter burst_len_lp = (block_size_in_words_p * data_width_p) / dma_data_width_p; + parameter lg_burst_len_lp = ((burst_len_lp == 1) || (burst_len_lp == 0) ? 1 : $clog2(burst_len_lp)); + parameter burst_size_in_words_lp = dma_data_width_p / data_width_p; + parameter lg_burst_size_in_words_lp = ((burst_size_in_words_lp == 1) || (burst_size_in_words_lp == 0) ? 1 : $clog2(burst_size_in_words_lp)); + parameter data_mem_els_lp = sets_p * burst_len_lp; + parameter lg_data_mem_els_lp = ((data_mem_els_lp == 1) || (data_mem_els_lp == 0) ? 1 : $clog2(data_mem_els_lp)); + parameter bsg_cache_dma_pkt_width_lp = (1 + addr_width_p) + block_size_in_words_p; + parameter debug_p = 0; + input clk_i; + input reset_i; + input wire [3:0] dma_cmd_i; + input [lg_ways_lp - 1:0] dma_way_i; + input [addr_width_p - 1:0] dma_addr_i; + output reg done_o; + input track_data_we_i; + output reg [data_width_p - 1:0] snoop_word_o; + output wire [bsg_cache_dma_pkt_width_lp - 1:0] dma_pkt_o; + output reg dma_pkt_v_o; + input dma_pkt_yumi_i; + input [dma_data_width_p - 1:0] dma_data_i; + input dma_data_v_i; + output wire dma_data_ready_and_o; + output wire [dma_data_width_p - 1:0] dma_data_o; + output wire dma_data_v_o; + input dma_data_yumi_i; + output reg data_mem_v_o; + output reg data_mem_w_o; + output wire [lg_data_mem_els_lp - 1:0] data_mem_addr_o; + output wire [(ways_p * dma_data_mask_width_lp) - 1:0] data_mem_w_mask_o; + output wire [(ways_p * dma_data_width_p) - 1:0] data_mem_data_o; + input [(ways_p * dma_data_width_p) - 1:0] data_mem_data_i; + input track_miss_i; + input [(ways_p * block_size_in_words_p) - 1:0] track_mem_data_i; + output reg dma_evict_o; + localparam counter_width_lp = (((burst_len_lp + 1) == 1) || ((burst_len_lp + 1) == 0) ? 1 : $clog2(burst_len_lp + 1)); + localparam byte_offset_width_lp = (((data_width_p >> 3) == 1) || ((data_width_p >> 3) == 0) ? 1 : $clog2(data_width_p >> 3)); + localparam block_offset_width_lp = (block_size_in_words_p > 1 ? byte_offset_width_lp + lg_block_size_in_words_lp : byte_offset_width_lp); + reg [1:0] dma_state_n; + reg [1:0] dma_state_r; + reg counter_clear; + reg counter_up; + wire [counter_width_lp - 1:0] counter_r; + bsg_counter_clear_up #( + .max_val_p(burst_len_lp), + .init_val_p(1'sb0) + ) dma_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(counter_clear), + .up_i(counter_up), + .count_o(counter_r) + ); + wire counter_fill_max = counter_r == (burst_len_lp - 1); + wire counter_evict_max = counter_r == burst_len_lp; + reg [((1 + addr_width_p) + block_size_in_words_p) - 1:0] dma_pkt; + wire in_fifo_v_lo; + wire [dma_data_width_p - 1:0] in_fifo_data_lo; + reg in_fifo_yumi_li; + bsg_fifo_1r1w_small #( + .width_p(dma_data_width_p), + .els_p((burst_len_lp < 2 ? 2 : burst_len_lp)) + ) in_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(dma_data_i), + .v_i(dma_data_v_i), + .ready_param_o(dma_data_ready_and_o), + .v_o(in_fifo_v_lo), + .data_o(in_fifo_data_lo), + .yumi_i(in_fifo_yumi_li) + ); + reg out_fifo_v_li; + wire out_fifo_ready_lo; + wire [dma_data_width_p - 1:0] out_fifo_data_li; + bsg_two_fifo #(.width_p(dma_data_width_p)) out_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(out_fifo_v_li), + .data_i(out_fifo_data_li), + .ready_param_o(out_fifo_ready_lo), + .v_o(dma_data_v_o), + .data_o(dma_data_o), + .yumi_i(dma_data_yumi_i) + ); + assign dma_pkt_o = dma_pkt; + wire [ways_p - 1:0] dma_way_mask; + wire [(ways_p * dma_data_mask_width_lp) - 1:0] dma_way_mask_expanded; + wire [burst_size_in_words_lp - 1:0] track_bits_offset_picked; + wire [dma_data_mask_width_lp - 1:0] track_bits_offset_picked_expanded; + wire [dma_data_mask_width_lp - 1:0] data_mem_w_mask_way_picked; + bsg_decode #(.num_out_p(ways_p)) dma_way_demux( + .i(dma_way_i), + .o(dma_way_mask) + ); + bsg_expand_bitmask #( + .in_width_p(ways_p), + .expand_p(dma_data_mask_width_lp) + ) expand0( + .i(dma_way_mask), + .o(dma_way_mask_expanded) + ); + reg [(ways_p * block_size_in_words_p) - 1:0] track_mem_data_r; + wire [block_size_in_words_p - 1:0] track_data_way_picked; + bsg_mux #( + .width_p(block_size_in_words_p), + .els_p(ways_p) + ) track_way_mux( + .data_i(track_mem_data_r), + .sel_i(dma_way_i), + .data_o(track_data_way_picked) + ); + bsg_mux #( + .width_p(burst_size_in_words_lp), + .els_p(burst_len_lp) + ) track_offset_mux( + .data_i(track_data_way_picked), + .sel_i(counter_r[0+:lg_burst_len_lp]), + .data_o(track_bits_offset_picked) + ); + bsg_expand_bitmask #( + .in_width_p(burst_size_in_words_lp), + .expand_p(data_mask_width_lp) + ) expand1( + .i(track_bits_offset_picked), + .o(track_bits_offset_picked_expanded) + ); + assign data_mem_w_mask_way_picked = (word_tracking_p & track_miss_i ? ~track_bits_offset_picked_expanded : {dma_data_mask_width_lp {1'b1}}); + generate + if (burst_len_lp == 1) begin : genblk1 + assign data_mem_addr_o = dma_addr_i[block_offset_width_lp+:lg_sets_lp]; + end + else begin : genblk1 + assign data_mem_addr_o = {{sets_p > 1 {dma_addr_i[block_offset_width_lp+:lg_sets_lp]}}, counter_r[0+:lg_burst_len_lp]}; + end + endgenerate + assign data_mem_data_o = {ways_p {in_fifo_data_lo}}; + assign data_mem_w_mask_o = dma_way_mask_expanded & {ways_p {data_mem_w_mask_way_picked}}; + bsg_mux #( + .width_p(dma_data_width_p), + .els_p(ways_p) + ) write_data_mux( + .data_i(data_mem_data_i), + .sel_i(dma_way_i), + .data_o(out_fifo_data_li) + ); + always @(*) begin + if (_sv2v_0) + ; + done_o = 1'b0; + dma_pkt_v_o = 1'b0; + dma_pkt[1 + (addr_width_p + (block_size_in_words_p - 1))] = 1'b0; + dma_pkt[addr_width_p + (block_size_in_words_p - 1)-:((addr_width_p + (block_size_in_words_p - 1)) >= (block_size_in_words_p + 0) ? ((addr_width_p + (block_size_in_words_p - 1)) - (block_size_in_words_p + 0)) + 1 : ((block_size_in_words_p + 0) - (addr_width_p + (block_size_in_words_p - 1))) + 1)] = {dma_addr_i[addr_width_p - 1:block_offset_width_lp], {block_offset_width_lp {1'b0}}}; + dma_pkt[block_size_in_words_p - 1-:block_size_in_words_p] = 1'sb0; + data_mem_v_o = 1'b0; + data_mem_w_o = 1'b0; + in_fifo_yumi_li = 1'b0; + dma_state_n = 2'd0; + out_fifo_v_li = 1'b0; + counter_clear = 1'b0; + counter_up = 1'b0; + dma_evict_o = 1'b0; + case (dma_state_r) + 2'd0: begin + counter_clear = 1'b0; + counter_up = 1'b0; + data_mem_v_o = 1'b0; + dma_pkt_v_o = 1'b0; + dma_pkt[1 + (addr_width_p + (block_size_in_words_p - 1))] = 1'b0; + done_o = 1'b0; + dma_state_n = 2'd0; + case (dma_cmd_i) + 4'b0001: begin + dma_pkt_v_o = 1'b1; + dma_pkt[1 + (addr_width_p + (block_size_in_words_p - 1))] = 1'b0; + done_o = dma_pkt_yumi_i; + dma_state_n = 2'd0; + end + 4'b0010: begin + dma_pkt_v_o = 1'b1; + dma_pkt[1 + (addr_width_p + (block_size_in_words_p - 1))] = 1'b1; + dma_pkt[block_size_in_words_p - 1-:block_size_in_words_p] = (word_tracking_p ? track_data_way_picked : {block_size_in_words_p {1'b1}}); + done_o = dma_pkt_yumi_i; + dma_state_n = 2'd0; + end + 4'b0100: begin + counter_clear = 1'b1; + dma_state_n = 2'd1; + end + 4'b1000: begin + counter_clear = 1'b1; + counter_up = 1'b1; + data_mem_v_o = (word_tracking_p ? |track_bits_offset_picked : 1'b1); + dma_state_n = 2'd2; + end + 4'b0000: + ; + default: + ; + endcase + end + 2'd1: begin + dma_state_n = (counter_fill_max & in_fifo_v_lo ? 2'd0 : 2'd1); + data_mem_v_o = in_fifo_v_lo; + data_mem_w_o = in_fifo_v_lo; + in_fifo_yumi_li = in_fifo_v_lo; + counter_up = in_fifo_v_lo & ~counter_fill_max; + counter_clear = in_fifo_v_lo & counter_fill_max; + done_o = counter_fill_max & in_fifo_v_lo; + end + 2'd2: begin + dma_state_n = (counter_evict_max & out_fifo_ready_lo ? 2'd0 : 2'd2); + counter_up = out_fifo_ready_lo & ~counter_evict_max; + counter_clear = out_fifo_ready_lo & counter_evict_max; + out_fifo_v_li = 1'b1; + data_mem_v_o = (out_fifo_ready_lo & ~counter_evict_max) & (word_tracking_p ? |track_bits_offset_picked : 1'b1); + done_o = counter_evict_max & out_fifo_ready_lo; + dma_evict_o = 1'b1; + end + default: dma_state_n = 2'd0; + endcase + end + wire [lg_burst_size_in_words_lp - 1:0] snoop_word_offset; + wire snoop_word_we; + wire [data_width_p - 1:0] snoop_word_n; + assign snoop_word_offset = dma_addr_i[byte_offset_width_lp+:lg_burst_size_in_words_lp]; + generate + if (burst_len_lp == 1) begin : genblk2 + assign snoop_word_we = (dma_state_r == 2'd1) & in_fifo_v_lo; + end + else if (burst_len_lp == block_size_in_words_p) begin : genblk2 + assign snoop_word_we = ((dma_state_r == 2'd1) & in_fifo_v_lo) & (counter_r[0+:lg_burst_len_lp] == dma_addr_i[byte_offset_width_lp+:lg_burst_len_lp]); + end + else begin : genblk2 + assign snoop_word_we = ((dma_state_r == 2'd1) & in_fifo_v_lo) & (counter_r[0+:lg_burst_len_lp] == dma_addr_i[byte_offset_width_lp + lg_burst_size_in_words_lp+:lg_burst_len_lp]); + end + endgenerate + bsg_mux #( + .width_p(data_width_p), + .els_p(burst_size_in_words_lp) + ) snoop_mux0( + .data_i(in_fifo_data_lo), + .sel_i(snoop_word_offset), + .data_o(snoop_word_n) + ); + always @(posedge clk_i) + if (reset_i) + dma_state_r <= 2'd0; + else begin + dma_state_r <= dma_state_n; + if (snoop_word_we) + snoop_word_o <= snoop_word_n; + if (track_data_we_i) + track_mem_data_r <= track_mem_data_i; + end + always @(posedge clk_i) + if (debug_p) begin + if (dma_pkt_v_o & dma_pkt_yumi_i) + $display(" DMA_PKT we:%0d addr:%8h // %8t", dma_pkt[1 + (addr_width_p + (block_size_in_words_p - 1))], dma_pkt[addr_width_p + (block_size_in_words_p - 1)-:((addr_width_p + (block_size_in_words_p - 1)) >= (block_size_in_words_p + 0) ? ((addr_width_p + (block_size_in_words_p - 1)) - (block_size_in_words_p + 0)) + 1 : ((block_size_in_words_p + 0) - (addr_width_p + (block_size_in_words_p - 1))) + 1)], $time); + end + initial _sv2v_0 = 0; +endmodule +module bsg_cache_dma_to_wormhole ( + clk_i, + reset_i, + dma_pkt_i, + dma_pkt_v_i, + dma_pkt_yumi_o, + dma_data_o, + dma_data_v_o, + dma_data_ready_and_i, + dma_data_i, + dma_data_v_i, + dma_data_yumi_o, + wh_link_sif_i, + wh_link_sif_o, + my_wh_cord_i, + dest_wh_cord_i, + my_wh_cid_i, + dest_wh_cid_i +); + reg _sv2v_0; + parameter dma_addr_width_p = 0; + parameter dma_burst_len_p = 0; + parameter dma_mask_width_p = 0; + parameter wh_flit_width_p = 0; + parameter wh_cid_width_p = 0; + parameter wh_len_width_p = 0; + parameter wh_cord_width_p = 0; + parameter dma_pkt_width_lp = (1 + dma_addr_width_p) + dma_mask_width_p; + parameter wh_link_sif_width_lp = wh_flit_width_p + 2; + parameter dma_data_width_lp = wh_flit_width_p; + parameter buffer_return_p = 1; + input clk_i; + input reset_i; + input [dma_pkt_width_lp - 1:0] dma_pkt_i; + input dma_pkt_v_i; + output wire dma_pkt_yumi_o; + output reg [dma_data_width_lp - 1:0] dma_data_o; + output reg dma_data_v_o; + input dma_data_ready_and_i; + input [dma_data_width_lp - 1:0] dma_data_i; + input dma_data_v_i; + output reg dma_data_yumi_o; + input [wh_link_sif_width_lp - 1:0] wh_link_sif_i; + output wire [wh_link_sif_width_lp - 1:0] wh_link_sif_o; + input [wh_cord_width_p - 1:0] my_wh_cord_i; + input [wh_cord_width_p - 1:0] dest_wh_cord_i; + input [wh_cid_width_p - 1:0] my_wh_cid_i; + input [wh_cid_width_p - 1:0] dest_wh_cid_i; + wire [(2 + wh_flit_width_p) - 1:0] wh_link_sif_in; + reg [(2 + wh_flit_width_p) - 1:0] wh_link_sif_out; + assign wh_link_sif_in = wh_link_sif_i; + assign wh_link_sif_o = wh_link_sif_out; + wire dma_pkt_ready_lo; + wire dma_pkt_v_lo; + reg dma_pkt_yumi_li; + wire [((1 + dma_addr_width_p) + dma_mask_width_p) - 1:0] dma_pkt_lo; + bsg_two_fifo #(.width_p(dma_pkt_width_lp)) dma_pkt_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(dma_pkt_v_i), + .data_i(dma_pkt_i), + .ready_param_o(dma_pkt_ready_lo), + .v_o(dma_pkt_v_lo), + .data_o(dma_pkt_lo), + .yumi_i(dma_pkt_yumi_li) + ); + assign dma_pkt_yumi_o = dma_pkt_ready_lo & dma_pkt_v_i; + wire return_fifo_v_lo; + wire [wh_flit_width_p - 1:0] return_fifo_data_lo; + reg return_fifo_ready_li; + wire return_fifo_yumi_li; + generate + if (buffer_return_p) begin : br + wire [1:1] sv2v_tmp_return_fifo_ready_param_o; + always @(*) wh_link_sif_out[wh_flit_width_p + 0] = sv2v_tmp_return_fifo_ready_param_o; + bsg_two_fifo #(.width_p(wh_flit_width_p)) return_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(wh_link_sif_in[wh_flit_width_p + 1]), + .data_i(wh_link_sif_in[wh_flit_width_p - 1-:wh_flit_width_p]), + .ready_param_o(sv2v_tmp_return_fifo_ready_param_o), + .v_o(return_fifo_v_lo), + .data_o(return_fifo_data_lo), + .yumi_i(return_fifo_yumi_li) + ); + assign return_fifo_yumi_li = return_fifo_ready_li & return_fifo_v_lo; + end + else begin : nbr + assign return_fifo_v_lo = wh_link_sif_in[wh_flit_width_p + 1]; + assign return_fifo_data_lo = wh_link_sif_in[wh_flit_width_p - 1-:wh_flit_width_p]; + wire [1:1] sv2v_tmp_2E0E0; + assign sv2v_tmp_2E0E0 = return_fifo_ready_li; + always @(*) wh_link_sif_out[wh_flit_width_p + 0] = sv2v_tmp_2E0E0; + assign return_fifo_yumi_li = wh_link_sif_out[wh_flit_width_p + 0] & wh_link_sif_in[wh_flit_width_p + 1]; + end + endgenerate + localparam count_width_lp = ((dma_burst_len_p == 1) || (dma_burst_len_p == 0) ? 1 : $clog2(dma_burst_len_p)); + reg send_clear_li; + reg send_up_li; + wire [count_width_lp - 1:0] send_count_lo; + bsg_counter_clear_up #( + .max_val_p(dma_burst_len_p - 1), + .init_val_p(0) + ) send_count( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(send_clear_li), + .up_i(send_up_li), + .count_o(send_count_lo) + ); + reg [2:0] send_state_n; + reg [2:0] send_state_r; + wire mask_all_one = &dma_pkt_lo[dma_mask_width_p - 1-:dma_mask_width_p]; + wire [((((((((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + 2) + wh_cid_width_p) + wh_cord_width_p) + wh_cid_width_p) + wh_len_width_p) + wh_cord_width_p) - 1:0] header_flit; + assign header_flit[((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))))-:((((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))))) >= (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))))) ? ((((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))))) - (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))))) + 1 : ((2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))))) - (((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))))) + 1)] = 1'sb0; + assign header_flit[2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))-:((2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))) >= (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))) ? ((2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))) - (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))))) + 1 : ((wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))) - (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))))) + 1)] = (dma_pkt_lo[1 + (dma_addr_width_p + (dma_mask_width_p - 1))] ? (mask_all_one ? 2'b10 : 2'b11) : 2'b00); + assign header_flit[wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))-:((wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))) >= (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))) ? ((wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))) - (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))) + 1 : ((wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))) - (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))) + 1)] = my_wh_cid_i; + assign header_flit[wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))-:((wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))) >= (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))) ? ((wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))) - (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))) + 1 : ((wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))) - (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))) + 1)] = my_wh_cord_i; + function automatic signed [wh_len_width_p - 1:0] sv2v_cast_A233A_signed; + input reg signed [wh_len_width_p - 1:0] inp; + sv2v_cast_A233A_signed = inp; + endfunction + assign header_flit[wh_len_width_p + (wh_cord_width_p - 1)-:((wh_len_width_p + (wh_cord_width_p - 1)) >= (wh_cord_width_p + 0) ? ((wh_len_width_p + (wh_cord_width_p - 1)) - (wh_cord_width_p + 0)) + 1 : ((wh_cord_width_p + 0) - (wh_len_width_p + (wh_cord_width_p - 1))) + 1)] = (dma_pkt_lo[1 + (dma_addr_width_p + (dma_mask_width_p - 1))] ? (mask_all_one ? sv2v_cast_A233A_signed(1 + dma_burst_len_p) : sv2v_cast_A233A_signed(2 + dma_burst_len_p)) : sv2v_cast_A233A_signed(1)); + assign header_flit[wh_cord_width_p - 1-:wh_cord_width_p] = dest_wh_cord_i; + assign header_flit[wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))-:((wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))) >= (wh_len_width_p + (wh_cord_width_p + 0)) ? ((wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))) - (wh_len_width_p + (wh_cord_width_p + 0))) + 1 : ((wh_len_width_p + (wh_cord_width_p + 0)) - (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))) + 1)] = dest_wh_cid_i; + function automatic [wh_flit_width_p - 1:0] sv2v_cast_C949B; + input reg [wh_flit_width_p - 1:0] inp; + sv2v_cast_C949B = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + send_state_n = send_state_r; + dma_pkt_yumi_li = 1'b0; + send_clear_li = 1'b0; + send_up_li = 1'b0; + wh_link_sif_out[wh_flit_width_p + 1] = 1'b0; + wh_link_sif_out[wh_flit_width_p - 1-:wh_flit_width_p] = dma_data_i; + dma_data_yumi_o = 1'b0; + case (send_state_r) + 3'd0: send_state_n = 3'd1; + 3'd1: begin + wh_link_sif_out[wh_flit_width_p - 1-:wh_flit_width_p] = header_flit; + if (dma_pkt_v_lo) begin + wh_link_sif_out[wh_flit_width_p + 1] = 1'b1; + send_state_n = (wh_link_sif_in[wh_flit_width_p + 0] ? 3'd2 : 3'd1); + end + end + 3'd2: begin + wh_link_sif_out[wh_flit_width_p - 1-:wh_flit_width_p] = sv2v_cast_C949B(dma_pkt_lo[dma_addr_width_p + (dma_mask_width_p - 1)-:((dma_addr_width_p + (dma_mask_width_p - 1)) >= (dma_mask_width_p + 0) ? ((dma_addr_width_p + (dma_mask_width_p - 1)) - (dma_mask_width_p + 0)) + 1 : ((dma_mask_width_p + 0) - (dma_addr_width_p + (dma_mask_width_p - 1))) + 1)]); + if (dma_pkt_v_lo) begin + wh_link_sif_out[wh_flit_width_p + 1] = 1'b1; + dma_pkt_yumi_li = (dma_pkt_lo[1 + (dma_addr_width_p + (dma_mask_width_p - 1))] ? (mask_all_one ? wh_link_sif_in[wh_flit_width_p + 0] : 1'b0) : wh_link_sif_in[wh_flit_width_p + 0]); + send_state_n = (wh_link_sif_in[wh_flit_width_p + 0] ? (dma_pkt_lo[1 + (dma_addr_width_p + (dma_mask_width_p - 1))] ? (mask_all_one ? 3'd4 : 3'd3) : 3'd1) : 3'd2); + end + end + 3'd3: begin + wh_link_sif_out[wh_flit_width_p - 1-:wh_flit_width_p] = sv2v_cast_C949B(dma_pkt_lo[dma_mask_width_p - 1-:dma_mask_width_p]); + if (dma_pkt_v_lo) begin + wh_link_sif_out[wh_flit_width_p + 1] = 1'b1; + dma_pkt_yumi_li = wh_link_sif_in[wh_flit_width_p + 0]; + send_state_n = (wh_link_sif_in[wh_flit_width_p + 0] ? 3'd4 : 3'd3); + end + end + 3'd4: begin + wh_link_sif_out[wh_flit_width_p - 1-:wh_flit_width_p] = dma_data_i; + if (dma_data_v_i) begin + wh_link_sif_out[wh_flit_width_p + 1] = 1'b1; + dma_data_yumi_o = wh_link_sif_in[wh_flit_width_p + 0] & wh_link_sif_out[wh_flit_width_p + 1]; + send_up_li = dma_data_yumi_o & (send_count_lo != (dma_burst_len_p - 1)); + send_clear_li = dma_data_yumi_o & (send_count_lo == (dma_burst_len_p - 1)); + send_state_n = (send_clear_li ? 3'd1 : 3'd4); + end + end + default: send_state_n = 3'd1; + endcase + end + reg recv_clear_li; + reg recv_up_li; + wire [count_width_lp - 1:0] recv_count_lo; + bsg_counter_clear_up #( + .max_val_p(dma_burst_len_p - 1), + .init_val_p(0) + ) recv_count( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(recv_clear_li), + .up_i(recv_up_li), + .count_o(recv_count_lo) + ); + reg [1:0] recv_state_r; + reg [1:0] recv_state_n; + always @(*) begin + if (_sv2v_0) + ; + recv_state_n = recv_state_r; + recv_clear_li = 1'b0; + recv_up_li = 1'b0; + return_fifo_ready_li = 1'b0; + dma_data_v_o = 1'b0; + dma_data_o = return_fifo_data_lo; + case (recv_state_r) + 2'd0: recv_state_n = 2'd1; + 2'd1: begin + return_fifo_ready_li = 1'b1; + recv_state_n = (return_fifo_yumi_li ? 2'd2 : 2'd1); + end + 2'd2: begin + return_fifo_ready_li = dma_data_ready_and_i; + dma_data_v_o = return_fifo_v_lo; + recv_up_li = return_fifo_yumi_li & (recv_count_lo != (dma_burst_len_p - 1)); + recv_clear_li = return_fifo_yumi_li & (recv_count_lo == (dma_burst_len_p - 1)); + recv_state_n = (recv_clear_li ? 2'd1 : 2'd2); + end + default: recv_state_n = 2'd1; + endcase + end + always @(posedge clk_i) + if (reset_i) begin + send_state_r <= 3'd0; + recv_state_r <= 2'd0; + end + else begin + send_state_r <= send_state_n; + recv_state_r <= recv_state_n; + end + generate + if (wh_flit_width_p != dma_data_width_lp) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/external/basejump_stl/bsg_cache/bsg_cache_dma_to_wormhole.sv:334:5 - bsg_cache_dma_to_wormhole.genblk2\n msg: ", "WH flit width must be equal to DMA data width"); + end + if (wh_flit_width_p < dma_addr_width_p) begin : genblk3 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/external/basejump_stl/bsg_cache/bsg_cache_dma_to_wormhole.sv:336:5 - bsg_cache_dma_to_wormhole.genblk3\n msg: ", "WH flit width must be larger than address width"); + end + if (wh_len_width_p < $clog2({1'b0, dma_burst_len_p + 1} + 1)) begin : genblk4 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/external/basejump_stl/bsg_cache/bsg_cache_dma_to_wormhole.sv:338:5 - bsg_cache_dma_to_wormhole.genblk4\n msg: ", "WH len width %d must be large enough to hold the dma transfer size %d", wh_len_width_p, $clog2({1'b0, dma_burst_len_p + 1} + 1)); + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bsg_cache_miss ( + clk_i, + reset_i, + miss_v_i, + track_miss_i, + decode_v_i, + addr_v_i, + mask_v_i, + tag_v_i, + valid_v_i, + lock_v_i, + tag_hit_v_i, + tag_hit_way_id_i, + tag_hit_found_i, + sbuf_empty_i, + tbuf_empty_i, + dma_cmd_o, + dma_way_o, + dma_addr_o, + dma_done_i, + track_data_we_o, + stat_info_i, + stat_mem_v_o, + stat_mem_w_o, + stat_mem_addr_o, + stat_mem_data_o, + stat_mem_w_mask_o, + tag_mem_v_o, + tag_mem_w_o, + tag_mem_addr_o, + tag_mem_data_o, + tag_mem_w_mask_o, + track_mem_v_o, + track_mem_w_o, + track_mem_addr_o, + track_mem_w_mask_o, + track_mem_data_o, + done_o, + recover_o, + chosen_way_o, + select_snoop_data_r_o, + ack_i +); + reg _sv2v_0; + parameter addr_width_p = 0; + parameter data_width_p = 0; + parameter block_size_in_words_p = 0; + parameter sets_p = 0; + parameter ways_p = 0; + parameter word_tracking_p = 0; + parameter lg_block_size_in_words_lp = ((block_size_in_words_p == 1) || (block_size_in_words_p == 0) ? 1 : $clog2(block_size_in_words_p)); + parameter lg_sets_lp = ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)); + parameter data_mask_width_lp = data_width_p >> 3; + parameter lg_data_mask_width_lp = (((data_width_p >> 3) == 1) || ((data_width_p >> 3) == 0) ? 1 : $clog2(data_width_p >> 3)); + parameter block_offset_width_lp = (block_size_in_words_p > 1 ? lg_data_mask_width_lp + lg_block_size_in_words_lp : lg_data_mask_width_lp); + parameter tag_offset_lp = (sets_p == 1 ? block_offset_width_lp : block_offset_width_lp + lg_sets_lp); + parameter tag_width_lp = addr_width_p - tag_offset_lp; + parameter tag_info_width_lp = tag_width_lp + 2; + parameter lg_ways_lp = ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)); + parameter stat_info_width_lp = (ways_p + ways_p) - 1; + input clk_i; + input reset_i; + input miss_v_i; + input track_miss_i; + input wire [20:0] decode_v_i; + input [addr_width_p - 1:0] addr_v_i; + input [data_mask_width_lp - 1:0] mask_v_i; + input [(ways_p * tag_width_lp) - 1:0] tag_v_i; + input [ways_p - 1:0] valid_v_i; + input [ways_p - 1:0] lock_v_i; + input [ways_p - 1:0] tag_hit_v_i; + input [lg_ways_lp - 1:0] tag_hit_way_id_i; + input tag_hit_found_i; + input sbuf_empty_i; + input tbuf_empty_i; + output reg [3:0] dma_cmd_o; + output wire [lg_ways_lp - 1:0] dma_way_o; + output reg [addr_width_p - 1:0] dma_addr_o; + input dma_done_i; + output reg track_data_we_o; + input [stat_info_width_lp - 1:0] stat_info_i; + output reg stat_mem_v_o; + output reg stat_mem_w_o; + output wire [lg_sets_lp - 1:0] stat_mem_addr_o; + output wire [stat_info_width_lp - 1:0] stat_mem_data_o; + output wire [stat_info_width_lp - 1:0] stat_mem_w_mask_o; + output reg tag_mem_v_o; + output reg tag_mem_w_o; + output wire [lg_sets_lp - 1:0] tag_mem_addr_o; + output wire [(ways_p * tag_info_width_lp) - 1:0] tag_mem_data_o; + output wire [(ways_p * tag_info_width_lp) - 1:0] tag_mem_w_mask_o; + output reg track_mem_v_o; + output reg track_mem_w_o; + output wire [lg_sets_lp - 1:0] track_mem_addr_o; + output reg [(ways_p * block_size_in_words_p) - 1:0] track_mem_w_mask_o; + output reg [(ways_p * block_size_in_words_p) - 1:0] track_mem_data_o; + output reg done_o; + output reg recover_o; + output wire [lg_ways_lp - 1:0] chosen_way_o; + output wire select_snoop_data_r_o; + input ack_i; + wire [(ways_p + ((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)) - 1:0] stat_info_in; + assign stat_info_in = stat_info_i; + reg [(ways_p * (2 + tag_width_lp)) - 1:0] tag_mem_data_out; + reg [(ways_p * (2 + tag_width_lp)) - 1:0] tag_mem_w_mask_out; + reg [(ways_p + ((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)) - 1:0] stat_mem_data_out; + reg [(ways_p + ((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)) - 1:0] stat_mem_w_mask_out; + assign tag_mem_data_o = tag_mem_data_out; + assign stat_mem_data_o = stat_mem_data_out; + assign tag_mem_w_mask_o = tag_mem_w_mask_out; + assign stat_mem_w_mask_o = stat_mem_w_mask_out; + wire [lg_ways_lp - 1:0] invalid_way_id; + wire invalid_exist; + bsg_priority_encode #( + .width_p(ways_p), + .lo_to_hi_p(1) + ) invalid_way_pe( + .i(~valid_v_i & ~lock_v_i), + .addr_o(invalid_way_id), + .v_o(invalid_exist) + ); + reg [3:0] miss_state_r; + reg [3:0] miss_state_n; + reg [lg_ways_lp - 1:0] chosen_way_r; + reg [lg_ways_lp - 1:0] chosen_way_n; + reg [lg_ways_lp - 1:0] flush_way_r; + reg [lg_ways_lp - 1:0] flush_way_n; + reg select_snoop_data_r; + reg select_snoop_data_n; + wire goto_flush_op = ((decode_v_i[13] | decode_v_i[8]) | decode_v_i[10]) | decode_v_i[9]; + wire goto_lock_op = decode_v_i[6] | (decode_v_i[7] & tag_hit_found_i); + wire full_word_op = (decode_v_i[17] ? &mask_v_i : decode_v_i[20-:2] >= lg_data_mask_width_lp); + wire st_tag_miss_op = (word_tracking_p ? (decode_v_i[15] & full_word_op) & ~tag_hit_found_i : 1'b0); + wire [tag_width_lp - 1:0] addr_tag_v; + wire [lg_sets_lp - 1:0] addr_index_v; + wire [lg_ways_lp - 1:0] addr_way_v; + wire [lg_block_size_in_words_lp - 1:0] addr_block_offset_v; + assign addr_index_v = addr_v_i[block_offset_width_lp+:lg_sets_lp]; + assign addr_tag_v = addr_v_i[tag_offset_lp+:tag_width_lp]; + assign addr_way_v = addr_v_i[tag_offset_lp+:lg_ways_lp]; + assign addr_block_offset_v = addr_v_i[lg_data_mask_width_lp+:lg_block_size_in_words_lp]; + assign stat_mem_addr_o = addr_index_v; + assign tag_mem_addr_o = addr_index_v; + assign track_mem_addr_o = addr_index_v; + assign chosen_way_o = chosen_way_r; + assign dma_way_o = (goto_flush_op ? flush_way_r : chosen_way_r); + wire [ways_p - 2:0] chosen_way_lru_data; + wire [ways_p - 2:0] chosen_way_lru_mask; + bsg_lru_pseudo_tree_decode #(.ways_p(ways_p)) chosen_way_lru_decode( + .way_id_i(chosen_way_r), + .data_o(chosen_way_lru_data), + .mask_o(chosen_way_lru_mask) + ); + wire [lg_ways_lp - 1:0] lru_way_id; + wire [ways_p - 2:0] modify_mask_lo; + wire [ways_p - 2:0] modify_data_lo; + wire [ways_p - 2:0] modified_lru_bits; + bsg_lru_pseudo_tree_backup #(.ways_p(ways_p)) backup_lru( + .disabled_ways_i(lock_v_i), + .modify_mask_o(modify_mask_lo), + .modify_data_o(modify_data_lo) + ); + bsg_mux_bitwise #(.width_p(ways_p - 1)) lru_bit_mux( + .data0_i(stat_info_in[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)]), + .data1_i(modify_data_lo), + .sel_i(modify_mask_lo), + .data_o(modified_lru_bits) + ); + bsg_lru_pseudo_tree_encode #(.ways_p(ways_p)) lru_encode( + .lru_i(modified_lru_bits), + .way_id_o(lru_way_id) + ); + wire [ways_p - 1:0] chosen_way_decode; + bsg_decode #(.num_out_p(ways_p)) chosen_way_demux( + .i(chosen_way_n), + .o(chosen_way_decode) + ); + wire [ways_p - 1:0] addr_way_v_decode; + bsg_decode #(.num_out_p(ways_p)) addr_way_v_demux( + .i(addr_way_v), + .o(addr_way_v_decode) + ); + wire [ways_p - 1:0] flush_way_decode; + assign flush_way_decode = (decode_v_i[13] ? addr_way_v_decode : tag_hit_v_i); + assign select_snoop_data_r_o = select_snoop_data_r; + always @(*) begin + if (_sv2v_0) + ; + stat_mem_v_o = 1'b0; + stat_mem_w_o = 1'b0; + stat_mem_data_out = 1'sb0; + stat_mem_w_mask_out = 1'sb0; + tag_mem_v_o = 1'b0; + tag_mem_w_o = 1'b0; + tag_mem_data_out = 1'sb0; + tag_mem_w_mask_out = 1'sb0; + track_mem_v_o = 1'b0; + track_mem_w_o = 1'b0; + track_mem_data_o = 1'sb0; + track_mem_w_mask_o = 1'sb0; + chosen_way_n = chosen_way_r; + flush_way_n = flush_way_r; + dma_addr_o = 1'sb0; + dma_cmd_o = 4'b0000; + recover_o = 1'sb0; + done_o = 1'sb0; + select_snoop_data_n = select_snoop_data_r; + case (miss_state_r) + 4'd0: begin + stat_mem_v_o = (miss_v_i & sbuf_empty_i) & tbuf_empty_i; + track_mem_v_o = (word_tracking_p ? (miss_v_i & sbuf_empty_i) & tbuf_empty_i : 1'b0); + miss_state_n = ((miss_v_i & sbuf_empty_i) & tbuf_empty_i ? (goto_flush_op ? 4'd1 : (goto_lock_op ? 4'd2 : (st_tag_miss_op ? 4'd7 : 4'd4))) : 4'd0); + end + 4'd4: begin + chosen_way_n = (track_miss_i ? tag_hit_way_id_i : (invalid_exist ? invalid_way_id : lru_way_id)); + dma_cmd_o = 4'b0001; + dma_addr_o = {addr_tag_v, {sets_p > 1 {addr_index_v}}, {block_offset_width_lp {1'b0}}}; + miss_state_n = (dma_done_i ? ((~track_miss_i & stat_info_in[(ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - ((ways_p - 1) - chosen_way_n)]) & valid_v_i[chosen_way_n] ? 4'd3 : 4'd6) : 4'd4); + end + 4'd1: begin + flush_way_n = (decode_v_i[13] ? addr_way_v : tag_hit_way_id_i); + stat_mem_v_o = 1'b1; + stat_mem_w_o = 1'b1; + stat_mem_data_out[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = {ways_p {1'b0}}; + stat_mem_data_out[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = {ways_p - 1 {1'b0}}; + stat_mem_w_mask_out[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = flush_way_decode; + stat_mem_w_mask_out[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = {ways_p - 1 {1'b0}}; + tag_mem_v_o = 1'b1; + tag_mem_w_o = 1'b1; + begin : sv2v_autoblock_1 + integer i; + for (i = 0; i < ways_p; i = i + 1) + begin + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = 1'b0; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = 1'b0; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = {tag_width_lp {1'b0}}; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = (decode_v_i[8] | decode_v_i[9]) & flush_way_decode[i]; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = (decode_v_i[8] | decode_v_i[9]) & flush_way_decode[i]; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = {tag_width_lp {1'b0}}; + end + end + miss_state_n = ((~decode_v_i[8] & stat_info_in[(ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - ((ways_p - 1) - flush_way_n)]) & valid_v_i[flush_way_n] ? 4'd3 : 4'd9); + end + 4'd2: begin + tag_mem_v_o = 1'b1; + tag_mem_w_o = 1'b1; + begin : sv2v_autoblock_2 + integer i; + for (i = 0; i < ways_p; i = i + 1) + begin + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = 1'b0; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = decode_v_i[7]; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = {tag_width_lp {1'b0}}; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = 1'b0; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = tag_hit_v_i[i]; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = {tag_width_lp {1'b0}}; + end + end + miss_state_n = 4'd9; + end + 4'd3: begin + dma_cmd_o = 4'b0010; + dma_addr_o = {tag_v_i[dma_way_o * tag_width_lp+:tag_width_lp], {sets_p > 1 {addr_index_v}}, {block_offset_width_lp {1'b0}}}; + miss_state_n = (dma_done_i ? 4'd5 : 4'd3); + end + 4'd5: begin + dma_cmd_o = 4'b1000; + dma_addr_o = {tag_v_i[dma_way_o * tag_width_lp+:tag_width_lp], {sets_p > 1 {addr_index_v}}, {block_offset_width_lp {1'b0}}}; + stat_mem_v_o = dma_done_i & st_tag_miss_op; + stat_mem_w_o = 1'b1; + stat_mem_data_out[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = {ways_p {1'b1}}; + stat_mem_data_out[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = chosen_way_lru_data; + stat_mem_w_mask_out[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = chosen_way_decode; + stat_mem_w_mask_out[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = chosen_way_lru_mask; + tag_mem_v_o = dma_done_i & st_tag_miss_op; + tag_mem_w_o = 1'b1; + begin : sv2v_autoblock_3 + integer i; + for (i = 0; i < ways_p; i = i + 1) + begin + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = addr_tag_v; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = decode_v_i[7]; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = 1'b1; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = {tag_width_lp {chosen_way_decode[i]}}; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = chosen_way_decode[i]; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = chosen_way_decode[i]; + end + end + track_mem_v_o = dma_done_i & st_tag_miss_op; + track_mem_w_o = 1'b1; + begin : sv2v_autoblock_4 + integer i; + for (i = 0; i < ways_p; i = i + 1) + begin + track_mem_data_o[i * block_size_in_words_p+:block_size_in_words_p] = {block_size_in_words_p {1'b0}}; + track_mem_w_mask_o[i * block_size_in_words_p+:block_size_in_words_p] = {block_size_in_words_p {chosen_way_decode[i]}}; + end + end + miss_state_n = (dma_done_i ? (((decode_v_i[13] | decode_v_i[9]) | decode_v_i[10]) | st_tag_miss_op ? 4'd9 : 4'd6) : 4'd5); + end + 4'd6: begin + dma_cmd_o = 4'b0100; + dma_addr_o = {addr_tag_v, {sets_p > 1 {addr_index_v}}, {block_size_in_words_p > 1 {addr_block_offset_v}}, {lg_data_mask_width_lp {1'b0}}}; + stat_mem_v_o = dma_done_i; + stat_mem_w_o = 1'b1; + stat_mem_data_out[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = {ways_p {decode_v_i[15] | decode_v_i[4]}}; + stat_mem_data_out[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = chosen_way_lru_data; + stat_mem_w_mask_out[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = (track_miss_i ? {ways_p {1'b0}} : chosen_way_decode); + stat_mem_w_mask_out[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = chosen_way_lru_mask; + tag_mem_v_o = dma_done_i; + tag_mem_w_o = 1'b1; + begin : sv2v_autoblock_5 + integer i; + for (i = 0; i < ways_p; i = i + 1) + begin + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = addr_tag_v; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = decode_v_i[7]; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = 1'b1; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = {tag_width_lp {chosen_way_decode[i]}}; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = chosen_way_decode[i]; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = chosen_way_decode[i]; + end + end + track_mem_v_o = (word_tracking_p ? dma_done_i : 1'b0); + track_mem_w_o = 1'b1; + begin : sv2v_autoblock_6 + integer i; + for (i = 0; i < ways_p; i = i + 1) + begin + track_mem_data_o[i * block_size_in_words_p+:block_size_in_words_p] = {block_size_in_words_p {1'b1}}; + track_mem_w_mask_o[i * block_size_in_words_p+:block_size_in_words_p] = {block_size_in_words_p {chosen_way_decode[i]}}; + end + end + select_snoop_data_n = (dma_done_i ? 1'b1 : select_snoop_data_r); + miss_state_n = (dma_done_i ? 4'd9 : 4'd6); + end + 4'd7: begin + chosen_way_n = (invalid_exist ? invalid_way_id : lru_way_id); + miss_state_n = (stat_info_in[(ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - ((ways_p - 1) - chosen_way_n)] & valid_v_i[chosen_way_n] ? 4'd3 : 4'd8); + end + 4'd8: begin + stat_mem_v_o = 1'b1; + stat_mem_w_o = 1'b1; + stat_mem_data_out[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = {ways_p {1'b1}}; + stat_mem_data_out[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = chosen_way_lru_data; + stat_mem_w_mask_out[ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)-:((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) >= (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) ? ((ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1)) - (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0)) + 1 : ((((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) + 0) - (ways_p + (((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1))) + 1)] = chosen_way_decode; + stat_mem_w_mask_out[((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p) - 1-:((ways_p - 2) >= 0 ? ways_p - 1 : 3 - ways_p)] = chosen_way_lru_mask; + tag_mem_v_o = 1'b1; + tag_mem_w_o = 1'b1; + begin : sv2v_autoblock_7 + integer i; + for (i = 0; i < ways_p; i = i + 1) + begin + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = addr_tag_v; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = decode_v_i[7]; + tag_mem_data_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = 1'b1; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp - 1)-:tag_width_lp] = {tag_width_lp {chosen_way_decode[i]}}; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 0)] = chosen_way_decode[i]; + tag_mem_w_mask_out[(i * (2 + tag_width_lp)) + (tag_width_lp + 1)] = chosen_way_decode[i]; + end + end + track_mem_v_o = 1'b1; + track_mem_w_o = 1'b1; + begin : sv2v_autoblock_8 + integer i; + for (i = 0; i < ways_p; i = i + 1) + begin + track_mem_data_o[i * block_size_in_words_p+:block_size_in_words_p] = {block_size_in_words_p {1'b0}}; + track_mem_w_mask_o[i * block_size_in_words_p+:block_size_in_words_p] = {block_size_in_words_p {chosen_way_decode[i]}}; + end + end + miss_state_n = 4'd9; + end + 4'd9: begin + recover_o = 1'b1; + miss_state_n = 4'd10; + end + 4'd10: begin + done_o = 1'b1; + miss_state_n = (ack_i ? 4'd0 : 4'd10); + select_snoop_data_n = (ack_i ? 1'b0 : select_snoop_data_r); + end + default: miss_state_n = 4'd0; + endcase + end + always @(posedge clk_i) + if (reset_i) begin + miss_state_r <= 4'd0; + chosen_way_r <= 1'sb0; + flush_way_r <= 1'sb0; + select_snoop_data_r <= 1'b0; + track_data_we_o <= 1'b0; + end + else begin + miss_state_r <= miss_state_n; + chosen_way_r <= chosen_way_n; + flush_way_r <= flush_way_n; + select_snoop_data_r <= select_snoop_data_n; + track_data_we_o <= track_mem_v_o & ~track_mem_w_o; + end + initial _sv2v_0 = 0; +endmodule +module bsg_cache_decode ( + opcode_i, + decode_o +); + reg _sv2v_0; + input wire [5:0] opcode_i; + output reg [20:0] decode_o; + always @(*) begin + if (_sv2v_0) + ; + case (opcode_i) + 6'b110000, 6'b110001, 6'b110011, 6'b110100, 6'b110010, 6'b110101, 6'b110110, 6'b110111, 6'b111000, 6'b000011, 6'b001011, 6'b000111: decode_o[20-:2] = 2'b11; + 6'b100000, 6'b100001, 6'b100011, 6'b100100, 6'b100010, 6'b100101, 6'b100110, 6'b100111, 6'b101000, 6'b000010, 6'b001010, 6'b000110: decode_o[20-:2] = 2'b10; + 6'b000001, 6'b001001, 6'b000101: decode_o[20-:2] = 2'b01; + 6'b000000, 6'b001000, 6'b000100: decode_o[20-:2] = 2'b00; + default: decode_o[20-:2] = 2'b00; + endcase + end + wire [1:1] sv2v_tmp_3D9D9; + assign sv2v_tmp_3D9D9 = (opcode_i == 6'b001100) | (opcode_i == 6'b001101); + always @(*) decode_o[17] = sv2v_tmp_3D9D9; + wire [1:1] sv2v_tmp_22A58; + assign sv2v_tmp_22A58 = ((((opcode_i == 6'b000000) || (opcode_i == 6'b000001)) || (opcode_i == 6'b000010)) || (opcode_i == 6'b000011)) || decode_o[4]; + always @(*) decode_o[18] = sv2v_tmp_22A58; + wire [1:1] sv2v_tmp_AEB3E; + assign sv2v_tmp_AEB3E = ((((((((opcode_i == 6'b000000) || (opcode_i == 6'b000001)) || (opcode_i == 6'b000010)) || (opcode_i == 6'b000011)) || (opcode_i == 6'b000100)) || (opcode_i == 6'b000101)) || (opcode_i == 6'b000110)) || (opcode_i == 6'b000111)) || (opcode_i == 6'b001100); + always @(*) decode_o[16] = sv2v_tmp_AEB3E; + wire [1:1] sv2v_tmp_E4298; + assign sv2v_tmp_E4298 = ((((opcode_i == 6'b001000) || (opcode_i == 6'b001001)) || (opcode_i == 6'b001010)) || (opcode_i == 6'b001011)) || (opcode_i == 6'b001101); + always @(*) decode_o[15] = sv2v_tmp_E4298; + wire [1:1] sv2v_tmp_D8025; + assign sv2v_tmp_D8025 = opcode_i == 6'b010000; + always @(*) decode_o[14] = sv2v_tmp_D8025; + wire [1:1] sv2v_tmp_09413; + assign sv2v_tmp_09413 = opcode_i == 6'b010001; + always @(*) decode_o[13] = sv2v_tmp_09413; + wire [1:1] sv2v_tmp_D5EB2; + assign sv2v_tmp_D5EB2 = opcode_i == 6'b010010; + always @(*) decode_o[12] = sv2v_tmp_D5EB2; + wire [1:1] sv2v_tmp_41F00; + assign sv2v_tmp_41F00 = opcode_i == 6'b010011; + always @(*) decode_o[11] = sv2v_tmp_41F00; + wire [1:1] sv2v_tmp_A4890; + assign sv2v_tmp_A4890 = opcode_i == 6'b011000; + always @(*) decode_o[10] = sv2v_tmp_A4890; + wire [1:1] sv2v_tmp_306BE; + assign sv2v_tmp_306BE = opcode_i == 6'b011001; + always @(*) decode_o[9] = sv2v_tmp_306BE; + wire [1:1] sv2v_tmp_28D1F; + assign sv2v_tmp_28D1F = opcode_i == 6'b011010; + always @(*) decode_o[8] = sv2v_tmp_28D1F; + wire [1:1] sv2v_tmp_19EA1; + assign sv2v_tmp_19EA1 = opcode_i == 6'b011011; + always @(*) decode_o[7] = sv2v_tmp_19EA1; + wire [1:1] sv2v_tmp_15281; + assign sv2v_tmp_15281 = opcode_i == 6'b011100; + always @(*) decode_o[6] = sv2v_tmp_15281; + wire [1:1] sv2v_tmp_1486D; + assign sv2v_tmp_1486D = ~decode_o[14]; + always @(*) decode_o[5] = sv2v_tmp_1486D; + always @(*) begin + if (_sv2v_0) + ; + decode_o[4] = 1'b1; + (* full_case, parallel_case *) + case (opcode_i) + 6'b100000, 6'b110000: decode_o[3-:4] = 4'b0000; + 6'b100001, 6'b110001: decode_o[3-:4] = 4'b0001; + 6'b100010, 6'b110010: decode_o[3-:4] = 4'b0010; + 6'b100011, 6'b110011: decode_o[3-:4] = 4'b0011; + 6'b100100, 6'b110100: decode_o[3-:4] = 4'b0100; + 6'b100101, 6'b110101: decode_o[3-:4] = 4'b0101; + 6'b100110, 6'b110110: decode_o[3-:4] = 4'b0110; + 6'b100111, 6'b110111: decode_o[3-:4] = 4'b0111; + 6'b101000, 6'b111000: decode_o[3-:4] = 4'b1000; + default: begin + decode_o[4] = 1'b0; + decode_o[3-:4] = 4'b0000; + end + endcase + end + initial _sv2v_0 = 0; +endmodule +module bsg_cache_sbuf ( + clk_i, + reset_i, + sbuf_entry_i, + v_i, + sbuf_entry_o, + v_o, + yumi_i, + empty_o, + full_o, + bypass_addr_i, + bypass_v_i, + bypass_data_o, + bypass_mask_o +); + parameter data_width_p = 0; + parameter addr_width_p = 0; + parameter ways_p = 0; + localparam data_mask_width_lp = data_width_p >> 3; + localparam sbuf_entry_width_lp = ((addr_width_p + data_width_p) + (data_width_p >> 3)) + ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)); + input clk_i; + input reset_i; + input [sbuf_entry_width_lp - 1:0] sbuf_entry_i; + input v_i; + output wire [sbuf_entry_width_lp - 1:0] sbuf_entry_o; + output wire v_o; + input wire yumi_i; + output wire empty_o; + output wire full_o; + input [addr_width_p - 1:0] bypass_addr_i; + input bypass_v_i; + output reg [data_width_p - 1:0] bypass_data_o; + output reg [data_mask_width_lp - 1:0] bypass_mask_o; + localparam lg_data_mask_width_lp = (((data_width_p >> 3) == 1) || ((data_width_p >> 3) == 0) ? 1 : $clog2(data_width_p >> 3)); + wire [(((addr_width_p + data_width_p) + (data_width_p >> 3)) + ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p))) - 1:0] el0; + wire [(((addr_width_p + data_width_p) + (data_width_p >> 3)) + ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p))) - 1:0] el1; + wire el0_valid; + wire el1_valid; + wire [(((addr_width_p + data_width_p) + (data_width_p >> 3)) + ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p))) - 1:0] sbuf_entry_in; + assign sbuf_entry_in = sbuf_entry_i; + bsg_cache_buffer_queue #(.width_p(sbuf_entry_width_lp)) q0( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(v_i), + .data_i(sbuf_entry_in), + .v_o(v_o), + .data_o(sbuf_entry_o), + .yumi_i(yumi_i), + .el0_valid_o(el0_valid), + .el1_valid_o(el1_valid), + .el0_snoop_o(el0), + .el1_snoop_o(el1), + .empty_o(empty_o), + .full_o(full_o) + ); + wire tag_hit0; + wire tag_hit0_n; + wire tag_hit1; + wire tag_hit1_n; + wire tag_hit2; + wire tag_hit2_n; + wire [(addr_width_p - lg_data_mask_width_lp) - 1:0] bypass_word_addr; + assign bypass_word_addr = bypass_addr_i[addr_width_p - 1:lg_data_mask_width_lp]; + assign tag_hit0_n = bypass_word_addr == el0[(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - (addr_width_p - 1)):(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - lg_data_mask_width_lp)]; + assign tag_hit1_n = bypass_word_addr == el1[(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - (addr_width_p - 1)):(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - lg_data_mask_width_lp)]; + assign tag_hit2_n = bypass_word_addr == sbuf_entry_in[(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - (addr_width_p - 1)):(addr_width_p + (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) - ((addr_width_p - 1) - lg_data_mask_width_lp)]; + assign tag_hit0 = tag_hit0_n & el0_valid; + assign tag_hit1 = tag_hit1_n & el1_valid; + assign tag_hit2 = tag_hit2_n & v_i; + wire [(data_width_p >> 3) - 1:0] tag_hit0x4; + wire [(data_width_p >> 3) - 1:0] tag_hit1x4; + wire [(data_width_p >> 3) - 1:0] tag_hit2x4; + assign tag_hit0x4 = {data_width_p >> 3 {tag_hit0}}; + assign tag_hit1x4 = {data_width_p >> 3 {tag_hit1}}; + assign tag_hit2x4 = {data_width_p >> 3 {tag_hit2}}; + wire [data_width_p - 1:0] el0or1_data; + wire [data_width_p - 1:0] bypass_data_n; + wire [(data_width_p >> 3) - 1:0] bypass_mask_n; + assign bypass_mask_n = ((tag_hit0x4 & el0[(data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)-:(((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) >= (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) ? (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) - (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) + 1 : ((((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) + 1)]) | (tag_hit1x4 & el1[(data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)-:(((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) >= (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) ? (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) - (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) + 1 : ((((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) + 1)])) | (tag_hit2x4 & sbuf_entry_in[(data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)-:(((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) >= (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) ? (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) - (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) + 1 : ((((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) + 1)]); + bsg_mux_segmented #( + .segments_p(data_width_p >> 3), + .segment_width_p(8) + ) mux_segmented_merge0( + .data0_i(el1[data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))-:((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) >= ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) ? ((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) + 1 : (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) - (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) + 1)]), + .data1_i(el0[data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))-:((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) >= ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) ? ((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) + 1 : (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) - (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) + 1)]), + .sel_i(tag_hit0x4 & el0[(data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)-:(((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) >= (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) ? (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) - (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) + 1 : ((((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) + 1)]), + .data_o(el0or1_data) + ); + bsg_mux_segmented #( + .segments_p(data_width_p >> 3), + .segment_width_p(8) + ) mux_segmented_merge1( + .data0_i(el0or1_data), + .data1_i(sbuf_entry_in[data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))-:((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) >= ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) ? ((data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0))) + 1 : (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) - (data_width_p + ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)))) + 1)]), + .sel_i(tag_hit2x4 & sbuf_entry_in[(data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)-:(((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) >= (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) ? (((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1)) - (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0)) + 1 : ((((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) + 0) - ((data_width_p >> 3) + (((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)) - 1))) + 1)]), + .data_o(bypass_data_n) + ); + always @(posedge clk_i) + if (reset_i) begin + bypass_mask_o <= 1'sb0; + bypass_data_o <= 1'sb0; + end + else if (bypass_v_i) begin + bypass_mask_o <= bypass_mask_n; + bypass_data_o <= bypass_data_n; + end +endmodule +module bsg_cache_tbuf ( + clk_i, + reset_i, + addr_i, + way_i, + v_i, + addr_o, + way_o, + v_o, + yumi_i, + empty_o, + full_o, + bypass_addr_i, + bypass_v_i, + bypass_track_o +); + parameter data_width_p = 0; + parameter addr_width_p = 0; + parameter ways_p = 0; + localparam way_id_width_lp = ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)); + input clk_i; + input reset_i; + input [addr_width_p - 1:0] addr_i; + input [way_id_width_lp - 1:0] way_i; + input v_i; + output wire [addr_width_p - 1:0] addr_o; + output wire [way_id_width_lp - 1:0] way_o; + output wire v_o; + input wire yumi_i; + output wire empty_o; + output wire full_o; + input [addr_width_p - 1:0] bypass_addr_i; + input bypass_v_i; + output reg bypass_track_o; + localparam lg_data_mask_width_lp = (((data_width_p >> 3) == 1) || ((data_width_p >> 3) == 0) ? 1 : $clog2(data_width_p >> 3)); + wire [addr_width_p - 1:0] el0_addr; + wire [addr_width_p - 1:0] el1_addr; + wire [way_id_width_lp - 1:0] el0_way; + wire [way_id_width_lp - 1:0] el1_way; + wire el0_valid; + wire el1_valid; + bsg_cache_buffer_queue #(.width_p(addr_width_p + way_id_width_lp)) q0( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(v_i), + .data_i({addr_i, way_i}), + .v_o(v_o), + .data_o({addr_o, way_o}), + .yumi_i(yumi_i), + .el0_valid_o(el0_valid), + .el1_valid_o(el1_valid), + .el0_snoop_o({el0_addr, el0_way}), + .el1_snoop_o({el1_addr, el1_way}), + .empty_o(empty_o), + .full_o(full_o) + ); + wire tag_hit0; + wire tag_hit0_n; + wire tag_hit1; + wire tag_hit1_n; + wire tag_hit2; + wire tag_hit2_n; + wire bypass_track_n; + wire [(addr_width_p - lg_data_mask_width_lp) - 1:0] bypass_word_addr; + assign bypass_word_addr = bypass_addr_i[addr_width_p - 1:lg_data_mask_width_lp]; + assign tag_hit0_n = bypass_word_addr == el0_addr[addr_width_p - 1:lg_data_mask_width_lp]; + assign tag_hit1_n = bypass_word_addr == el1_addr[addr_width_p - 1:lg_data_mask_width_lp]; + assign tag_hit2_n = bypass_word_addr == addr_i[addr_width_p - 1:lg_data_mask_width_lp]; + assign tag_hit0 = tag_hit0_n & el0_valid; + assign tag_hit1 = tag_hit1_n & el1_valid; + assign tag_hit2 = tag_hit2_n & v_i; + assign bypass_track_n = (tag_hit0 | tag_hit1) | tag_hit2; + always @(posedge clk_i) + if (reset_i) + bypass_track_o <= 1'sb0; + else if (bypass_v_i) + bypass_track_o <= bypass_track_n; +endmodule +module bsg_cache_buffer_queue ( + clk_i, + reset_i, + v_i, + data_i, + v_o, + data_o, + yumi_i, + el0_valid_o, + el1_valid_o, + el0_snoop_o, + el1_snoop_o, + empty_o, + full_o +); + reg _sv2v_0; + parameter width_p = 0; + input clk_i; + input reset_i; + input v_i; + input [width_p - 1:0] data_i; + output reg v_o; + output wire [width_p - 1:0] data_o; + input yumi_i; + output reg el0_valid_o; + output reg el1_valid_o; + output wire [width_p - 1:0] el0_snoop_o; + output wire [width_p - 1:0] el1_snoop_o; + output reg empty_o; + output reg full_o; + reg [1:0] num_els_r; + reg mux1_sel; + reg mux0_sel; + reg el0_enable; + reg el1_enable; + always @(*) begin + if (_sv2v_0) + ; + case (num_els_r) + 2'b00: begin + v_o = v_i; + empty_o = 1'b1; + full_o = 1'b0; + el0_valid_o = 1'b0; + el1_valid_o = 1'b0; + el0_enable = 1'b0; + el1_enable = v_i & ~yumi_i; + mux0_sel = 1'b0; + mux1_sel = 1'b0; + end + 2'b01: begin + v_o = 1'b1; + empty_o = 1'b0; + full_o = 1'b0; + el0_valid_o = 1'b0; + el1_valid_o = 1'b1; + el0_enable = v_i & ~yumi_i; + el1_enable = v_i & yumi_i; + mux0_sel = 1'b0; + mux1_sel = 1'b1; + end + 2'b10: begin + v_o = 1'b1; + empty_o = 1'b0; + full_o = 1'b1; + el0_valid_o = 1'b1; + el1_valid_o = 1'b1; + el0_enable = v_i & yumi_i; + el1_enable = yumi_i; + mux0_sel = 1'b1; + mux1_sel = 1'b1; + end + default: begin + v_o = 1'b0; + empty_o = 1'b0; + full_o = 1'b0; + el0_valid_o = 1'b0; + el1_valid_o = 1'b0; + el0_enable = 1'b0; + el1_enable = 1'b0; + mux0_sel = 1'b0; + mux1_sel = 1'b0; + end + endcase + end + always @(posedge clk_i) + if (reset_i) + num_els_r <= 2'b00; + else + num_els_r <= (num_els_r + v_i) - (v_o & yumi_i); + reg [width_p - 1:0] el0_r; + reg [width_p - 1:0] el1_r; + always @(posedge clk_i) begin + if (el0_enable) + el0_r <= data_i; + if (el1_enable) + el1_r <= (mux0_sel ? el0_r : data_i); + end + assign data_o = (mux1_sel ? el1_r : data_i); + assign el0_snoop_o = el0_r; + assign el1_snoop_o = el1_r; + always @(negedge clk_i) + if (~reset_i & (num_els_r !== 2'bxx)) + ; + initial _sv2v_0 = 0; +endmodule +module bsg_wormhole_to_cache_dma_fanout ( + clk_i, + reset_i, + wh_link_sif_i, + wh_dma_id_i, + wh_link_sif_o, + dma_pkt_o, + dma_pkt_v_o, + dma_pkt_yumi_i, + dma_data_i, + dma_data_v_i, + dma_data_ready_and_o, + dma_data_o, + dma_data_v_o, + dma_data_yumi_i +); + reg _sv2v_0; + parameter num_dma_p = 0; + parameter dma_addr_width_p = 0; + parameter dma_burst_len_p = 0; + parameter dma_mask_width_p = 0; + parameter wh_flit_width_p = 0; + parameter wh_cid_width_p = 0; + parameter wh_len_width_p = 0; + parameter wh_cord_width_p = 0; + parameter lg_num_dma_lp = ((num_dma_p == 1) || (num_dma_p == 0) ? 1 : $clog2(num_dma_p)); + parameter count_width_lp = ((dma_burst_len_p == 1) || (dma_burst_len_p == 0) ? 1 : $clog2(dma_burst_len_p)); + parameter wh_ready_and_link_sif_width_lp = wh_flit_width_p + 2; + parameter wh_then_ready_link_sif_width_lp = wh_flit_width_p + 2; + parameter dma_pkt_width_lp = (1 + dma_addr_width_p) + dma_mask_width_p; + parameter dma_data_width_p = wh_flit_width_p; + input clk_i; + input reset_i; + input [wh_ready_and_link_sif_width_lp - 1:0] wh_link_sif_i; + input [lg_num_dma_lp - 1:0] wh_dma_id_i; + output wire [wh_then_ready_link_sif_width_lp - 1:0] wh_link_sif_o; + output wire [(num_dma_p * dma_pkt_width_lp) - 1:0] dma_pkt_o; + output reg [num_dma_p - 1:0] dma_pkt_v_o; + input [num_dma_p - 1:0] dma_pkt_yumi_i; + input [(num_dma_p * dma_data_width_p) - 1:0] dma_data_i; + input [num_dma_p - 1:0] dma_data_v_i; + output reg [num_dma_p - 1:0] dma_data_ready_and_o; + output reg [(num_dma_p * dma_data_width_p) - 1:0] dma_data_o; + output reg [num_dma_p - 1:0] dma_data_v_o; + input [num_dma_p - 1:0] dma_data_yumi_i; + wire [(2 + wh_flit_width_p) - 1:0] wh_link_sif_in; + reg [(2 + wh_flit_width_p) - 1:0] wh_link_sif_out; + assign wh_link_sif_in = wh_link_sif_i; + assign wh_link_sif_o = wh_link_sif_out; + reg [((1 + dma_addr_width_p) + dma_mask_width_p) - 1:0] dma_pkt_out; + assign dma_pkt_o = {num_dma_p {dma_pkt_out}}; + wire [((((((((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + 2) + wh_cid_width_p) + wh_cord_width_p) + wh_cid_width_p) + wh_len_width_p) + wh_cord_width_p) - 1:0] header_flit_in; + reg [((((((((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + 2) + wh_cid_width_p) + wh_cord_width_p) + wh_cid_width_p) + wh_len_width_p) + wh_cord_width_p) - 1:0] header_flit_out; + assign header_flit_in = wh_link_sif_in[wh_flit_width_p - 1-:wh_flit_width_p]; + reg [(num_dma_p * wh_cid_width_p) - 1:0] src_cid_r; + reg [(num_dma_p * wh_cord_width_p) - 1:0] src_cord_r; + reg [wh_cid_width_p - 1:0] src_cid_n; + reg [wh_cord_width_p - 1:0] src_cord_n; + reg [lg_num_dma_lp - 1:0] table_w_addr; + reg table_we; + always @(posedge clk_i) + if (reset_i) begin + src_cid_r <= 1'sb0; + src_cord_r <= 1'sb0; + end + else if (table_we) begin + src_cid_r[table_w_addr * wh_cid_width_p+:wh_cid_width_p] <= src_cid_n; + src_cord_r[table_w_addr * wh_cord_width_p+:wh_cord_width_p] <= src_cord_n; + end + reg [2:0] send_state_r; + reg [2:0] send_state_n; + reg [1:0] opcode_r; + reg [1:0] opcode_n; + reg [lg_num_dma_lp - 1:0] send_cache_id_r; + reg [lg_num_dma_lp - 1:0] send_cache_id_n; + reg [dma_addr_width_p - 1:0] addr_r; + reg [dma_addr_width_p - 1:0] addr_n; + reg send_clear_li; + reg send_up_li; + wire [count_width_lp - 1:0] send_count_lo; + bsg_counter_clear_up #( + .max_val_p(dma_burst_len_p - 1), + .init_val_p(0) + ) send_count( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(send_clear_li), + .up_i(send_up_li), + .count_o(send_count_lo) + ); + function automatic [dma_addr_width_p - 1:0] sv2v_cast_97C47; + input reg [dma_addr_width_p - 1:0] inp; + sv2v_cast_97C47 = inp; + endfunction + function automatic [dma_mask_width_p - 1:0] sv2v_cast_E0380; + input reg [dma_mask_width_p - 1:0] inp; + sv2v_cast_E0380 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + send_state_n = send_state_r; + opcode_n = opcode_r; + send_cache_id_n = send_cache_id_r; + addr_n = addr_r; + table_we = 1'b0; + table_w_addr = 1'sb0; + src_cord_n = 1'sb0; + src_cid_n = 1'sb0; + wh_link_sif_out[wh_flit_width_p + 0] = 1'b0; + send_clear_li = 1'b0; + send_up_li = 1'b0; + dma_pkt_v_o = 1'sb0; + dma_pkt_out = 1'sb0; + dma_data_v_o = 1'sb0; + dma_data_o = 1'sb0; + case (send_state_r) + 3'd0: send_state_n = 3'd1; + 3'd1: + if (wh_link_sif_in[wh_flit_width_p + 1]) begin + wh_link_sif_out[wh_flit_width_p + 0] = 1'b1; + opcode_n = header_flit_in[2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))-:((2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))) >= (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))) ? ((2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))) - (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))))) + 1 : ((wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))) - (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))))) + 1)]; + src_cord_n = header_flit_in[wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))-:((wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))) >= (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))) ? ((wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))) - (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))) + 1 : ((wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))) - (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))) + 1)]; + src_cid_n = header_flit_in[wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))-:((wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))) >= (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))) ? ((wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))) - (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))) + 1 : ((wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))) - (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))) + 1)]; + table_w_addr = wh_dma_id_i; + table_we = 1'b1; + send_cache_id_n = wh_dma_id_i; + send_state_n = 3'd2; + end + 3'd2: begin + dma_pkt_v_o[send_cache_id_r] = wh_link_sif_in[wh_flit_width_p + 1] & (opcode_r != 2'b11); + dma_pkt_out[1 + (dma_addr_width_p + (dma_mask_width_p - 1))] = opcode_r != 2'b00; + dma_pkt_out[dma_addr_width_p + (dma_mask_width_p - 1)-:((dma_addr_width_p + (dma_mask_width_p - 1)) >= (dma_mask_width_p + 0) ? ((dma_addr_width_p + (dma_mask_width_p - 1)) - (dma_mask_width_p + 0)) + 1 : ((dma_mask_width_p + 0) - (dma_addr_width_p + (dma_mask_width_p - 1))) + 1)] = sv2v_cast_97C47(wh_link_sif_in[wh_flit_width_p - 1-:wh_flit_width_p]); + dma_pkt_out[dma_mask_width_p - 1-:dma_mask_width_p] = 1'sb1; + wh_link_sif_out[wh_flit_width_p + 0] = dma_pkt_yumi_i[send_cache_id_r] | (opcode_r == 2'b11); + addr_n = (wh_link_sif_in[wh_flit_width_p + 1] & (opcode_r == 2'b11) ? sv2v_cast_97C47(wh_link_sif_in[wh_flit_width_p - 1-:wh_flit_width_p]) : addr_r); + case (opcode_r) + 2'b00: send_state_n = (dma_pkt_yumi_i[send_cache_id_r] ? 3'd1 : 3'd2); + 2'b10: send_state_n = (dma_pkt_yumi_i[send_cache_id_r] ? 3'd4 : 3'd2); + 2'b11: send_state_n = (wh_link_sif_in[wh_flit_width_p + 1] ? 3'd3 : 3'd2); + default: send_state_n = 3'd1; + endcase + end + 3'd3: begin + dma_pkt_v_o[send_cache_id_r] = wh_link_sif_in[wh_flit_width_p + 1]; + dma_pkt_out[1 + (dma_addr_width_p + (dma_mask_width_p - 1))] = 1'b1; + dma_pkt_out[dma_addr_width_p + (dma_mask_width_p - 1)-:((dma_addr_width_p + (dma_mask_width_p - 1)) >= (dma_mask_width_p + 0) ? ((dma_addr_width_p + (dma_mask_width_p - 1)) - (dma_mask_width_p + 0)) + 1 : ((dma_mask_width_p + 0) - (dma_addr_width_p + (dma_mask_width_p - 1))) + 1)] = addr_r; + dma_pkt_out[dma_mask_width_p - 1-:dma_mask_width_p] = sv2v_cast_E0380(wh_link_sif_in[wh_flit_width_p - 1-:wh_flit_width_p]); + wh_link_sif_out[wh_flit_width_p + 0] = dma_pkt_yumi_i[send_cache_id_r]; + send_state_n = (dma_pkt_yumi_i[send_cache_id_r] ? 3'd4 : 3'd3); + end + 3'd4: begin + dma_data_v_o[send_cache_id_r] = wh_link_sif_in[wh_flit_width_p + 1]; + dma_data_o[send_cache_id_r * dma_data_width_p+:dma_data_width_p] = wh_link_sif_in[wh_flit_width_p - 1-:wh_flit_width_p]; + if (dma_data_yumi_i[send_cache_id_r]) begin + wh_link_sif_out[wh_flit_width_p + 0] = 1'b1; + send_up_li = send_count_lo != (dma_burst_len_p - 1); + send_clear_li = send_count_lo == (dma_burst_len_p - 1); + send_state_n = (send_clear_li ? 3'd1 : 3'd4); + end + end + default: send_state_n = 3'd1; + endcase + end + always @(posedge clk_i) + if (reset_i) begin + send_state_r <= 3'd0; + opcode_r <= 2'b00; + send_cache_id_r <= 1'sb0; + addr_r <= 1'sb0; + end + else begin + send_state_r <= send_state_n; + opcode_r <= opcode_n; + send_cache_id_r <= send_cache_id_n; + addr_r <= addr_n; + end + reg [1:0] recv_state_r; + reg [1:0] recv_state_n; + reg [lg_num_dma_lp - 1:0] recv_cache_id_r; + reg [lg_num_dma_lp - 1:0] recv_cache_id_n; + wire rr_v_lo; + reg rr_yumi_li; + wire [lg_num_dma_lp - 1:0] rr_addr_lo; + wire [num_dma_p - 1:0] rr_grants_lo; + bsg_arb_round_robin #(.width_p(num_dma_p)) rr0( + .clk_i(clk_i), + .reset_i(reset_i), + .reqs_i(dma_data_v_i), + .grants_o(rr_grants_lo), + .yumi_i(rr_yumi_li) + ); + assign rr_v_lo = |dma_data_v_i; + bsg_encode_one_hot #(.width_p(num_dma_p)) eoh( + .i(rr_grants_lo), + .addr_o(rr_addr_lo), + .v_o() + ); + reg recv_clear_li; + reg recv_up_li; + wire [count_width_lp - 1:0] recv_count_lo; + bsg_counter_clear_up #( + .max_val_p(dma_burst_len_p - 1), + .init_val_p(0) + ) recv_count( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(recv_clear_li), + .up_i(recv_up_li), + .count_o(recv_count_lo) + ); + always @(*) begin + if (_sv2v_0) + ; + wh_link_sif_out[wh_flit_width_p + 1] = 1'b0; + wh_link_sif_out[wh_flit_width_p - 1-:wh_flit_width_p] = 1'sb0; + rr_yumi_li = 1'b0; + recv_state_n = recv_state_r; + recv_cache_id_n = recv_cache_id_r; + recv_clear_li = 1'b0; + recv_up_li = 1'b0; + header_flit_out[((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))))-:((((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))))) >= (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))))) ? ((((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))))) - (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))))) + 1 : ((2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))))) - (((((wh_flit_width_p - (wh_cord_width_p * 2)) - 2) - wh_len_width_p) - (wh_cid_width_p * 2)) + (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))))) + 1)] = 1'sb0; + header_flit_out[2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))-:((2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))) >= (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))) ? ((2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))) - (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))))) + 1 : ((wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))) - (2 + (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))))) + 1)] = 2'b00; + header_flit_out[wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))-:((wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))) >= (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))) ? ((wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))) - (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))) + 1 : ((wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))) - (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))) + 1)] = 1'sb0; + header_flit_out[wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))-:((wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))) >= (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))) ? ((wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))))) - (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0))))) + 1 : ((wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p + 0)))) - (wh_cid_width_p + (wh_cord_width_p + (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))))) + 1)] = 1'sb0; + header_flit_out[wh_len_width_p + (wh_cord_width_p - 1)-:((wh_len_width_p + (wh_cord_width_p - 1)) >= (wh_cord_width_p + 0) ? ((wh_len_width_p + (wh_cord_width_p - 1)) - (wh_cord_width_p + 0)) + 1 : ((wh_cord_width_p + 0) - (wh_len_width_p + (wh_cord_width_p - 1))) + 1)] = dma_burst_len_p; + header_flit_out[wh_cord_width_p - 1-:wh_cord_width_p] = src_cord_r[recv_cache_id_r * wh_cord_width_p+:wh_cord_width_p]; + header_flit_out[wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))-:((wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))) >= (wh_len_width_p + (wh_cord_width_p + 0)) ? ((wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1))) - (wh_len_width_p + (wh_cord_width_p + 0))) + 1 : ((wh_len_width_p + (wh_cord_width_p + 0)) - (wh_cid_width_p + (wh_len_width_p + (wh_cord_width_p - 1)))) + 1)] = src_cid_r[recv_cache_id_r * wh_cid_width_p+:wh_cid_width_p]; + dma_data_ready_and_o = 1'sb0; + case (recv_state_r) + 2'd0: recv_state_n = 2'd1; + 2'd1: + if (rr_v_lo) begin + rr_yumi_li = 1'b1; + recv_cache_id_n = rr_addr_lo; + recv_state_n = 2'd2; + end + 2'd2: begin + wh_link_sif_out[wh_flit_width_p + 1] = 1'b1; + wh_link_sif_out[wh_flit_width_p - 1-:wh_flit_width_p] = header_flit_out; + if (wh_link_sif_in[wh_flit_width_p + 0]) + recv_state_n = 2'd3; + end + 2'd3: begin + wh_link_sif_out[wh_flit_width_p + 1] = dma_data_v_i[recv_cache_id_r]; + wh_link_sif_out[wh_flit_width_p - 1-:wh_flit_width_p] = dma_data_i[recv_cache_id_r * dma_data_width_p+:dma_data_width_p]; + dma_data_ready_and_o[recv_cache_id_r] = wh_link_sif_in[wh_flit_width_p + 0]; + if (dma_data_ready_and_o[recv_cache_id_r] & dma_data_v_i[recv_cache_id_r]) begin + recv_clear_li = recv_count_lo == (dma_burst_len_p - 1); + recv_up_li = recv_count_lo != (dma_burst_len_p - 1); + recv_state_n = (recv_clear_li ? 2'd1 : 2'd3); + end + end + endcase + end + always @(posedge clk_i) + if (reset_i) begin + recv_state_r <= 2'd0; + recv_cache_id_r <= 1'sb0; + end + else begin + recv_state_r <= recv_state_n; + recv_cache_id_r <= recv_cache_id_n; + end + generate + if (wh_flit_width_p != dma_data_width_p) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/external/basejump_stl/bsg_cache/bsg_wormhole_to_cache_dma_fanout.sv:410:5 - bsg_wormhole_to_cache_dma_fanout.genblk1\n msg: ", "WH flit width must be equal to DMA data width"); + end + if (wh_flit_width_p < dma_addr_width_p) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/external/basejump_stl/bsg_cache/bsg_wormhole_to_cache_dma_fanout.sv:412:5 - bsg_wormhole_to_cache_dma_fanout.genblk2\n msg: ", "WH flit width must be larger than address width"); + end + if (wh_len_width_p < $clog2({1'b0, dma_burst_len_p + 1} + 1)) begin : genblk3 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/external/basejump_stl/bsg_cache/bsg_wormhole_to_cache_dma_fanout.sv:414:5 - bsg_wormhole_to_cache_dma_fanout.genblk3\n msg: ", "WH len width %d must be large enough to hold the dma transfer size %d", wh_len_width_p, $clog2({1'b0, dma_burst_len_p + 1} + 1)); + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bsg_fifo_1r1w_small ( + clk_i, + reset_i, + v_i, + ready_param_o, + data_i, + v_o, + data_o, + yumi_i +); + parameter width_p = 0; + parameter els_p = 0; + parameter harden_p = 0; + parameter ready_THEN_valid_p = 0; + input clk_i; + input reset_i; + input v_i; + output wire ready_param_o; + input [width_p - 1:0] data_i; + output wire v_o; + output wire [width_p - 1:0] data_o; + input yumi_i; + generate + if (harden_p == 0) begin : unhardened + if (els_p == 2) begin : tf + bsg_two_fifo #( + .width_p(width_p), + .ready_THEN_valid_p(ready_THEN_valid_p) + ) twof( + .ready_param_o(ready_param_o), + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(data_i), + .v_i(v_i), + .v_o(v_o), + .data_o(data_o), + .yumi_i(yumi_i) + ); + end + else begin : un + bsg_fifo_1r1w_small_unhardened #( + .width_p(width_p), + .els_p(els_p), + .ready_THEN_valid_p(ready_THEN_valid_p) + ) fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(v_i), + .ready_param_o(ready_param_o), + .data_i(data_i), + .v_o(v_o), + .data_o(data_o), + .yumi_i(yumi_i) + ); + end + end + else begin : hardened + bsg_fifo_1r1w_small_hardened #( + .width_p(width_p), + .els_p(els_p), + .ready_THEN_valid_p(ready_THEN_valid_p) + ) fifo(.*); + end + endgenerate +endmodule +module bsg_fifo_1r1w_small_unhardened ( + clk_i, + reset_i, + v_i, + ready_param_o, + data_i, + v_o, + data_o, + yumi_i +); + parameter width_p = 0; + parameter els_p = 0; + parameter ready_THEN_valid_p = 0; + input clk_i; + input reset_i; + input v_i; + output wire ready_param_o; + input [width_p - 1:0] data_i; + output wire v_o; + output wire [width_p - 1:0] data_o; + input yumi_i; + wire deque = yumi_i; + wire v_o_tmp; + assign v_o = v_o_tmp; + wire enque; + wire ready_param_lo; + generate + if (ready_THEN_valid_p) begin : rtv + assign enque = v_i; + end + else begin : rav + assign enque = v_i & ready_param_lo; + end + endgenerate + localparam ptr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + wire [ptr_width_lp - 1:0] rptr_r; + wire [ptr_width_lp - 1:0] wptr_r; + wire full; + wire empty; + bsg_fifo_tracker #(.els_p(els_p)) ft( + .clk_i(clk_i), + .reset_i(reset_i), + .enq_i(enque), + .deq_i(deque), + .wptr_r_o(wptr_r), + .rptr_r_o(rptr_r), + .rptr_n_o(), + .full_o(full), + .empty_o(empty) + ); + bsg_mem_1r1w #( + .width_p(width_p), + .els_p(els_p), + .read_write_same_addr_p(0) + ) mem_1r1w( + .w_clk_i(clk_i), + .w_reset_i(reset_i), + .w_v_i(enque), + .w_addr_i(wptr_r), + .w_data_i(data_i), + .r_v_i(v_o_tmp), + .r_addr_i(rptr_r), + .r_data_o(data_o) + ); + assign ready_param_lo = ~full; + assign ready_param_o = ready_param_lo; + assign v_o_tmp = ~empty; + always @(posedge clk_i) begin + if (((ready_THEN_valid_p & full) & v_i) & ~reset_i) + $display("%m error: enque full fifo at time %t", $time); + if ((empty & yumi_i) & ~reset_i) + $display("%m error: deque empty fifo at time %t", $time); + end +endmodule +module bsg_fifo_tracker ( + clk_i, + reset_i, + enq_i, + deq_i, + wptr_r_o, + rptr_r_o, + rptr_n_o, + full_o, + empty_o +); + parameter els_p = 0; + parameter ptr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + input clk_i; + input reset_i; + input enq_i; + input deq_i; + output wire [ptr_width_lp - 1:0] wptr_r_o; + output wire [ptr_width_lp - 1:0] rptr_r_o; + output wire [ptr_width_lp - 1:0] rptr_n_o; + output wire full_o; + output wire empty_o; + wire [ptr_width_lp - 1:0] rptr_r; + wire [ptr_width_lp - 1:0] rptr_n; + wire [ptr_width_lp - 1:0] wptr_r; + assign wptr_r_o = wptr_r; + assign rptr_r_o = rptr_r; + assign rptr_n_o = rptr_n; + reg enq_r; + reg deq_r; + wire empty; + wire full; + wire equal_ptrs; + bsg_circular_ptr #( + .slots_p(els_p), + .max_add_p(1) + ) rptr( + .clk(clk_i), + .reset_i(reset_i), + .add_i(deq_i), + .o(rptr_r), + .n_o(rptr_n) + ); + bsg_circular_ptr #( + .slots_p(els_p), + .max_add_p(1) + ) wptr( + .clk(clk_i), + .reset_i(reset_i), + .add_i(enq_i), + .o(wptr_r), + .n_o() + ); + always @(posedge clk_i) + if (reset_i) begin + enq_r <= 1'b0; + deq_r <= 1'b1; + end + else if (enq_i | deq_i) begin + enq_r <= enq_i; + deq_r <= deq_i; + end + assign equal_ptrs = rptr_r == wptr_r; + assign empty = equal_ptrs & deq_r; + assign full = equal_ptrs & enq_r; + assign full_o = full; + assign empty_o = empty; +endmodule +module bsg_flow_counter ( + clk_i, + reset_i, + v_i, + ready_param_i, + yumi_i, + count_o +); + parameter els_p = 0; + parameter count_free_p = 0; + parameter ready_THEN_valid_p = 0; + parameter ptr_width_lp = $clog2({1'b0, els_p} + 1); + input clk_i; + input reset_i; + input v_i; + input ready_param_i; + input yumi_i; + output wire [ptr_width_lp - 1:0] count_o; + wire enque; + generate + if (ready_THEN_valid_p) begin : gen_blk_protocol_select + assign enque = v_i; + end + else begin : gen_blk_protocol_select + assign enque = v_i & ready_param_i; + end + if (count_free_p) begin : gen_blk_0 + bsg_counter_up_down #( + .max_val_p(els_p), + .init_val_p(els_p), + .max_step_p(1) + ) counter( + .clk_i(clk_i), + .reset_i(reset_i), + .up_i(yumi_i), + .down_i(enque), + .count_o(count_o) + ); + end + else begin : gen_blk_0 + bsg_counter_up_down #( + .max_val_p(els_p), + .init_val_p(0), + .max_step_p(1) + ) counter( + .clk_i(clk_i), + .reset_i(reset_i), + .up_i(enque), + .down_i(yumi_i), + .count_o(count_o) + ); + end + endgenerate +endmodule +module bsg_one_fifo ( + clk_i, + reset_i, + ready_and_o, + data_i, + v_i, + v_o, + data_o, + yumi_i +); + parameter width_p = 0; + input clk_i; + input reset_i; + output wire ready_and_o; + input [width_p - 1:0] data_i; + input v_i; + output wire v_o; + output wire [width_p - 1:0] data_o; + input yumi_i; + wire full_r; + assign ready_and_o = ~full_r; + assign v_o = full_r; + bsg_dff_reset #(.width_p(1)) dff_full( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i((full_r ? ~yumi_i : v_i)), + .data_o(full_r) + ); + bsg_dff_en #( + .width_p(width_p), + .harden_p(0) + ) dff( + .clk_i(clk_i), + .data_i(data_i), + .en_i(v_i & ready_and_o), + .data_o(data_o) + ); +endmodule +module bsg_parallel_in_serial_out_passthrough ( + clk_i, + reset_i, + v_i, + data_i, + ready_and_o, + v_o, + data_o, + ready_and_i +); + parameter width_p = 0; + parameter els_p = 0; + parameter hi_to_lo_p = 0; + input clk_i; + input reset_i; + input v_i; + input [(els_p * width_p) - 1:0] data_i; + output wire ready_and_o; + output wire v_o; + output wire [width_p - 1:0] data_o; + input ready_and_i; + wire [els_p - 1:0] count_r; + generate + if (els_p == 1) begin : single_word + assign count_r = 1'b1; + assign ready_and_o = ready_and_i; + end + else begin : multi_word + wire last_word; + bsg_counter_clear_up_one_hot #( + .max_val_p(els_p - 1), + .init_val_p(1) + ) counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(ready_and_o & v_i), + .up_i((v_o & ready_and_i) & ~last_word), + .count_r_o(count_r) + ); + assign last_word = count_r[els_p - 1]; + assign ready_and_o = ready_and_i & last_word; + end + endgenerate + wire [(els_p * width_p) - 1:0] data_li; + generate + if (hi_to_lo_p == 0) begin : lo2hi + assign data_li = data_i; + end + else begin : hi2lo + bsg_array_reverse #( + .width_p(width_p), + .els_p(els_p) + ) bar( + .i(data_i), + .o(data_li) + ); + end + endgenerate + bsg_mux_one_hot #( + .width_p(width_p), + .els_p(els_p) + ) data_mux( + .data_i(data_li), + .sel_one_hot_i(count_r), + .data_o(data_o) + ); + assign v_o = v_i; + wire [(els_p * width_p) - 1:0] initial_data_r; + bsg_dff_en #(.width_p(width_p * els_p)) initial_data_reg( + .clk_i(clk_i), + .en_i(count_r[0] & v_i), + .data_i(data_i), + .data_o(initial_data_r) + ); + always @(negedge clk_i) + if (~reset_i & (count_r[0] === 1'b0)) + ; +endmodule +module bsg_parallel_in_serial_out_passthrough_dynamic ( + clk_i, + reset_i, + v_i, + data_i, + len_i, + ready_and_o, + v_o, + data_o, + ready_and_i +); + parameter width_p = 0; + parameter els_p = 0; + parameter hi_to_lo_p = 0; + parameter lg_max_els_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + input clk_i; + input reset_i; + input v_i; + input [(els_p * width_p) - 1:0] data_i; + input [lg_max_els_lp - 1:0] len_i; + output wire ready_and_o; + output wire v_o; + output wire [width_p - 1:0] data_o; + input ready_and_i; + wire [els_p - 1:0] count_r; + generate + if (els_p == 1) begin : single_word + assign count_r = 1'b1; + assign ready_and_o = ready_and_i; + end + else begin : multi_word + wire last_word; + bsg_counter_clear_up_one_hot #( + .max_val_p(els_p - 1), + .init_val_p(1) + ) counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(ready_and_o & v_i), + .up_i((v_o & ready_and_i) & ~last_word), + .count_r_o(count_r) + ); + assign last_word = count_r[len_i]; + assign ready_and_o = ready_and_i & last_word; + end + endgenerate + wire [(els_p * width_p) - 1:0] data_li; + generate + if (hi_to_lo_p == 0) begin : lo2hi + assign data_li = data_i; + end + else begin : hi2lo + bsg_array_reverse #( + .width_p(width_p), + .els_p(els_p) + ) bar( + .i(data_i), + .o(data_li) + ); + end + endgenerate + bsg_mux_one_hot #( + .width_p(width_p), + .els_p(els_p) + ) data_mux( + .data_i(data_li), + .sel_one_hot_i(count_r), + .data_o(data_o) + ); + assign v_o = v_i; + wire [(els_p * width_p) - 1:0] initial_data_r; + bsg_dff_en #(.width_p(width_p * els_p)) initial_data_reg( + .clk_i(clk_i), + .en_i(count_r[0] & v_i), + .data_i(data_i), + .data_o(initial_data_r) + ); + always @(negedge clk_i) + if (~reset_i & (count_r[0] === 1'b0)) + ; +endmodule +module bsg_serial_in_parallel_out_passthrough_dynamic ( + clk_i, + reset_i, + v_i, + len_i, + ready_and_o, + data_i, + data_o, + v_o, + ready_and_i +); + parameter width_p = 0; + parameter els_p = 0; + parameter lg_max_els_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter hi_to_lo_p = 0; + input clk_i; + input reset_i; + input v_i; + input [lg_max_els_lp - 1:0] len_i; + output wire ready_and_o; + input [width_p - 1:0] data_i; + output wire [(els_p * width_p) - 1:0] data_o; + output wire v_o; + input ready_and_i; + localparam lg_els_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + wire [els_p - 1:0] count_r; + wire last_word; + assign v_o = v_i & last_word; + assign ready_and_o = ready_and_i; + wire sending = v_o & ready_and_i; + wire receiving = v_i & ready_and_o; + generate + if (els_p == 1) begin : single_word + assign count_r = 1'b1; + assign last_word = 1'b1; + end + else begin : multi_word + bsg_counter_clear_up_one_hot #(.max_val_p(els_p - 1)) bcoh( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(sending), + .up_i(receiving & ~last_word), + .count_r_o(count_r) + ); + assign last_word = count_r[len_i]; + end + endgenerate + wire [(els_p * width_p) - 1:0] data_lo; + genvar _gv_i_15; + generate + for (_gv_i_15 = 0; _gv_i_15 < (els_p - 1); _gv_i_15 = _gv_i_15 + 1) begin : rof + localparam i = _gv_i_15; + wire my_turn = v_i & count_r[i]; + bsg_dff_en_bypass #(.width_p(width_p)) dff( + .clk_i(clk_i), + .data_i(data_i), + .en_i(my_turn), + .data_o(data_lo[i * width_p+:width_p]) + ); + end + endgenerate + assign data_lo[(els_p - 1) * width_p+:width_p] = data_i; + generate + if (hi_to_lo_p == 0) begin : lo2hi + assign data_o = data_lo; + end + else begin : hi2lo + bsg_array_reverse #( + .width_p(width_p), + .els_p(els_p) + ) bar( + .i(data_lo), + .o(data_o) + ); + end + endgenerate +endmodule +module bsg_round_robin_1_to_n ( + clk_i, + reset_i, + valid_i, + ready_and_o, + valid_o, + ready_and_i +); + parameter num_out_p = 0; + input clk_i; + input reset_i; + input valid_i; + output wire ready_and_o; + output wire [num_out_p - 1:0] valid_o; + input [num_out_p - 1:0] ready_and_i; + generate + if (num_out_p == 1) begin : one_to_one + assign valid_o = valid_i; + assign ready_and_o = ready_and_i; + end + else begin : one_to_n + wire [((num_out_p == 1) || (num_out_p == 0) ? 1 : $clog2(num_out_p)) - 1:0] ptr_r; + wire yumi_li = valid_i & ready_and_o; + bsg_circular_ptr #( + .slots_p(num_out_p), + .max_add_p(1) + ) circular_ptr( + .clk(clk_i), + .reset_i(reset_i), + .add_i(yumi_li), + .o(ptr_r), + .n_o() + ); + assign valid_o = valid_i << ptr_r; + assign ready_and_o = ready_and_i[ptr_r]; + end + endgenerate +endmodule +module bsg_serial_in_parallel_out_full ( + clk_i, + reset_i, + v_i, + ready_and_o, + data_i, + data_o, + v_o, + yumi_i +); + parameter width_p = 0; + parameter els_p = 0; + parameter hi_to_lo_p = 0; + parameter use_minimal_buffering_p = 0; + parameter extra_buffers_p = (use_minimal_buffering_p ? 0 : 1); + input clk_i; + input reset_i; + input v_i; + output wire ready_and_o; + input [width_p - 1:0] data_i; + output wire [(els_p * width_p) - 1:0] data_o; + output wire v_o; + input yumi_i; + localparam lg_els_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + wire [(els_p * width_p) - 1:0] data_lo; + generate + if (hi_to_lo_p == 0) begin : lo2hi + assign data_o = data_lo; + end + else begin : hi2lo + bsg_array_reverse #( + .width_p(width_p), + .els_p(els_p) + ) bar( + .i(data_lo), + .o(data_o) + ); + end + endgenerate + wire [els_p - 1:0] fifo_valid_li; + wire [els_p - 1:0] fifo_ready_and_lo; + wire [els_p - 1:0] fifo_valid_lo; + assign v_o = &fifo_valid_lo; + bsg_round_robin_1_to_n #(.num_out_p(els_p)) brr( + .clk_i(clk_i), + .reset_i(reset_i), + .valid_i(v_i), + .ready_and_o(ready_and_o), + .valid_o(fifo_valid_li), + .ready_and_i(fifo_ready_and_lo) + ); + genvar _gv_i_17; + generate + for (_gv_i_17 = 0; _gv_i_17 < els_p; _gv_i_17 = _gv_i_17 + 1) begin : fifos + localparam i = _gv_i_17; + if (i < extra_buffers_p) begin : twofifo + bsg_two_fifo #(.width_p(width_p)) fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .ready_param_o(fifo_ready_and_lo[i]), + .data_i(data_i), + .v_i(fifo_valid_li[i]), + .v_o(fifo_valid_lo[i]), + .data_o(data_lo[i * width_p+:width_p]), + .yumi_i(yumi_i) + ); + end + else begin : onefifo + bsg_one_fifo #(.width_p(width_p)) fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .ready_and_o(fifo_ready_and_lo[i]), + .data_i(data_i), + .v_i(fifo_valid_li[i]), + .v_o(fifo_valid_lo[i]), + .data_o(data_lo[i * width_p+:width_p]), + .yumi_i(yumi_i) + ); + end + end + endgenerate +endmodule +module bsg_two_fifo ( + clk_i, + reset_i, + ready_param_o, + data_i, + v_i, + v_o, + data_o, + yumi_i +); + parameter width_p = 0; + parameter verbose_p = 0; + parameter allow_enq_deq_on_full_p = 0; + parameter ready_THEN_valid_p = allow_enq_deq_on_full_p; + input clk_i; + input reset_i; + output wire ready_param_o; + input [width_p - 1:0] data_i; + input v_i; + output wire v_o; + output wire [width_p - 1:0] data_o; + input yumi_i; + wire deq_i = yumi_i; + wire enq_i; + reg head_r; + reg tail_r; + reg empty_r; + reg full_r; + bsg_mem_1r1w #( + .width_p(width_p), + .els_p(2), + .read_write_same_addr_p(allow_enq_deq_on_full_p) + ) mem_1r1w( + .w_clk_i(clk_i), + .w_reset_i(reset_i), + .w_v_i(enq_i), + .w_addr_i(tail_r), + .w_data_i(data_i), + .r_v_i(~empty_r), + .r_addr_i(head_r), + .r_data_o(data_o) + ); + assign v_o = ~empty_r; + assign ready_param_o = ~full_r; + generate + if (ready_THEN_valid_p) begin : genblk1 + assign enq_i = v_i; + end + else begin : genblk1 + assign enq_i = v_i & ~full_r; + end + endgenerate + always @(posedge clk_i) + if (reset_i) begin + tail_r <= 1'b0; + head_r <= 1'b0; + empty_r <= 1'b1; + full_r <= 1'b0; + end + else begin + if (enq_i) + tail_r <= ~tail_r; + if (deq_i) + head_r <= ~head_r; + empty_r <= (empty_r & ~enq_i) | ((~full_r & deq_i) & ~enq_i); + if (allow_enq_deq_on_full_p) + full_r <= ((~empty_r & enq_i) & ~deq_i) | (full_r & ~(deq_i ^ enq_i)); + else + full_r <= ((~empty_r & enq_i) & ~deq_i) | (full_r & ~deq_i); + end + always @(posedge clk_i) + if (~reset_i) begin + if (allow_enq_deq_on_full_p) + ; + end + always @(posedge clk_i) + if (verbose_p) begin + if (enq_i) + $display("### %m enq %x onto fifo", data_i); + if (deq_i) + $display("### %m deq %x from fifo", data_o); + end + wire [31:0] num_elements_debug = full_r + (empty_r == 0); +endmodule +module bsg_cam_1r1w_replacement ( + clk_i, + reset_i, + read_v_i, + alloc_v_i, + alloc_empty_i, + alloc_v_o +); + parameter els_p = 2; + parameter scheme_p = "lru"; + parameter safe_els_lp = (els_p > 1 ? els_p : 1); + input clk_i; + input reset_i; + input [safe_els_lp - 1:0] read_v_i; + input alloc_v_i; + input [safe_els_lp - 1:0] alloc_empty_i; + output wire [safe_els_lp - 1:0] alloc_v_o; + generate + if (els_p == 0) begin : zero + assign alloc_v_o = 1'b0; + end + else if (els_p == 1) begin : one + assign alloc_v_o = 1'b1; + end + else if (scheme_p == "lru") begin : lru + localparam lg_els_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + wire read_v_li = |read_v_i; + wire lru_touch_li = read_v_li | alloc_v_i; + wire [els_p - 2:0] lru_n; + wire [els_p - 2:0] lru_r; + bsg_dff_reset_en #(.width_p(els_p - 1)) lru_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(lru_touch_li), + .data_i(lru_n), + .data_o(lru_r) + ); + wire [lg_els_lp - 1:0] lru_way_lo; + bsg_lru_pseudo_tree_encode #(.ways_p(els_p)) lru_encoder( + .lru_i(lru_r), + .way_id_o(lru_way_lo) + ); + wire [lg_els_lp - 1:0] empty_way_lo; + wire empty_way_v_lo; + bsg_priority_encode #( + .width_p(els_p), + .lo_to_hi_p(1) + ) empty_encoder( + .i(alloc_empty_i), + .addr_o(empty_way_lo), + .v_o(empty_way_v_lo) + ); + wire [lg_els_lp - 1:0] way_lo = (empty_way_v_lo ? empty_way_lo : lru_way_lo); + bsg_decode #(.num_out_p(els_p)) way_decoder( + .i(way_lo), + .o(alloc_v_o) + ); + wire [lg_els_lp - 1:0] read_way_li; + bsg_encode_one_hot #(.width_p(els_p)) read_way_encoder( + .i(read_v_i), + .addr_o(read_way_li), + .v_o() + ); + wire [els_p - 2:0] read_update_data_lo; + wire [els_p - 2:0] read_update_mask_lo; + bsg_lru_pseudo_tree_decode #(.ways_p(els_p)) read_decoder( + .way_id_i(read_way_li), + .data_o(read_update_data_lo), + .mask_o(read_update_mask_lo) + ); + wire [els_p - 2:0] read_update_lo; + wire [els_p - 2:0] read_sel_lo = read_update_mask_lo & {els_p - 1 {read_v_li}}; + bsg_mux_bitwise #(.width_p(els_p - 1)) read_update_mux( + .data0_i(lru_r), + .data1_i(read_update_data_lo), + .sel_i(read_sel_lo), + .data_o(read_update_lo) + ); + wire [els_p - 2:0] alloc_update_data_lo; + wire [els_p - 2:0] alloc_update_mask_lo; + bsg_lru_pseudo_tree_decode #(.ways_p(els_p)) alloc_decoder( + .way_id_i(way_lo), + .data_o(alloc_update_data_lo), + .mask_o(alloc_update_mask_lo) + ); + wire [els_p - 2:0] alloc_update_lo; + wire [els_p - 2:0] alloc_sel_lo = alloc_update_mask_lo & {els_p - 1 {alloc_v_i}}; + bsg_mux_bitwise #(.width_p(els_p - 1)) alloc_update_mux( + .data0_i(read_update_lo), + .data1_i(alloc_update_data_lo), + .sel_i(alloc_sel_lo), + .data_o(alloc_update_lo) + ); + assign lru_n = alloc_update_lo; + end + endgenerate +endmodule +module bsg_cam_1r1w_tag_array ( + clk_i, + reset_i, + w_v_i, + w_set_not_clear_i, + w_tag_i, + w_empty_o, + r_v_i, + r_tag_i, + r_match_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter multiple_entries_p = 0; + parameter safe_els_lp = (els_p > 1 ? els_p : 1); + input clk_i; + input reset_i; + input [safe_els_lp - 1:0] w_v_i; + input w_set_not_clear_i; + input [width_p - 1:0] w_tag_i; + output wire [safe_els_lp - 1:0] w_empty_o; + input r_v_i; + input [width_p - 1:0] r_tag_i; + output wire [safe_els_lp - 1:0] r_match_o; + wire [(safe_els_lp * width_p) - 1:0] tag_r; + wire [safe_els_lp - 1:0] v_r; + generate + if (els_p == 0) begin : zero + assign w_empty_o = 1'sb0; + assign r_match_o = 1'sb0; + end + else begin : nz + genvar _gv_i_19; + for (_gv_i_19 = 0; _gv_i_19 < els_p; _gv_i_19 = _gv_i_19 + 1) begin : tag_array + localparam i = _gv_i_19; + bsg_dff_reset_en #(.width_p(1)) v_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(w_v_i[i]), + .data_i(w_set_not_clear_i), + .data_o(v_r[i]) + ); + bsg_dff_en #(.width_p(width_p)) tag_r_reg( + .clk_i(clk_i), + .en_i(w_v_i[i] & w_set_not_clear_i), + .data_i(w_tag_i), + .data_o(tag_r[i * width_p+:width_p]) + ); + assign r_match_o[i] = (r_v_i & v_r[i]) & (tag_r[i * width_p+:width_p] == r_tag_i); + assign w_empty_o[i] = ~v_r[i]; + end + end + endgenerate + always @(negedge clk_i) + ; +endmodule +module bsg_mem_1r1w ( + w_clk_i, + w_reset_i, + w_v_i, + w_addr_i, + w_data_i, + r_v_i, + r_addr_i, + r_data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter read_write_same_addr_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter harden_p = 0; + input w_clk_i; + input w_reset_i; + input w_v_i; + input [addr_width_lp - 1:0] w_addr_i; + input [(width_p < 1 ? 0 : width_p - 1):0] w_data_i; + input r_v_i; + input [addr_width_lp - 1:0] r_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r_data_o; + bsg_mem_1r1w_synth #( + .width_p(width_p), + .els_p(els_p), + .read_write_same_addr_p(read_write_same_addr_p) + ) synth( + .w_clk_i(w_clk_i), + .w_reset_i(w_reset_i), + .w_v_i(w_v_i), + .w_addr_i(w_addr_i), + .w_data_i(w_data_i), + .r_v_i(r_v_i), + .r_addr_i(r_addr_i), + .r_data_o(r_data_o) + ); + initial if ((width_p * els_p) > 256) + $display("## %L: instantiating width_p=%d, els_p=%d, read_write_same_addr_p=%d, harden_p=%d (%m)", width_p, els_p, read_write_same_addr_p, harden_p); + always @(negedge w_clk_i) + if (w_v_i === 1'b1) + ; +endmodule +module bsg_mem_1r1w_sync_synth ( + clk_i, + reset_i, + w_v_i, + w_addr_i, + w_data_i, + r_v_i, + r_addr_i, + r_data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter read_write_same_addr_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter latch_last_read_p = 0; + parameter verbose_p = 1; + input clk_i; + input reset_i; + input w_v_i; + input [addr_width_lp - 1:0] w_addr_i; + input [(width_p < 1 ? 0 : width_p - 1):0] w_data_i; + input r_v_i; + input [addr_width_lp - 1:0] r_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r_data_o; + wire unused = reset_i; + generate + if ((width_p == 0) || (els_p == 0)) begin : z + wire unused0 = &{clk_i, w_v_i, w_addr_i, r_v_i, r_addr_i}; + assign r_data_o = 1'sb0; + end + else begin : nz + reg [width_p - 1:0] mem [els_p - 1:0]; + wire read_en; + wire [width_p - 1:0] data_out; + reg [addr_width_lp - 1:0] r_addr_r; + wire [addr_width_lp - 1:0] r_addr_li = (els_p > 1 ? r_addr_i : {addr_width_lp {1'sb0}}); + wire [addr_width_lp - 1:0] w_addr_li = (els_p > 1 ? w_addr_i : {addr_width_lp {1'sb0}}); + assign read_en = r_v_i; + assign data_out = mem[r_addr_r]; + always @(posedge clk_i) + if (r_v_i) + r_addr_r <= r_addr_li; + else + r_addr_r <= 1'sbx; + if (latch_last_read_p) begin : llr + wire read_en_r; + bsg_dff #(.width_p(1)) read_en_dff( + .clk_i(clk_i), + .data_i(read_en), + .data_o(read_en_r) + ); + bsg_dff_en_bypass #(.width_p(width_p)) dff_bypass( + .clk_i(clk_i), + .en_i(read_en_r), + .data_i(data_out), + .data_o(r_data_o) + ); + end + else begin : no_llr + assign r_data_o = data_out; + end + always @(posedge clk_i) + if (w_v_i) + mem[w_addr_li] <= w_data_i; + end + endgenerate + initial if (verbose_p) + $display("## %L: instantiating width_p=%d, els_p=%d (%m)", width_p, els_p); +endmodule +module bsg_mem_1r1w_sync ( + clk_i, + reset_i, + w_v_i, + w_addr_i, + w_data_i, + r_v_i, + r_addr_i, + r_data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter read_write_same_addr_p = 0; + parameter latch_last_read_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter harden_p = 0; + parameter disable_collision_warning_p = 0; + parameter enable_clock_gating_p = 0; + parameter verbose_if_synth_p = 1; + input clk_i; + input reset_i; + input w_v_i; + input [addr_width_lp - 1:0] w_addr_i; + input [(width_p < 1 ? 0 : width_p - 1):0] w_data_i; + input r_v_i; + input [addr_width_lp - 1:0] r_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r_data_o; + wire clk_lo; + generate + if (enable_clock_gating_p) begin : genblk1 + bsg_clkgate_optional icg( + .clk_i(clk_i), + .en_i(w_v_i | r_v_i), + .bypass_i(1'b0), + .gated_clock_o(clk_lo) + ); + end + else begin : genblk1 + assign clk_lo = clk_i; + end + endgenerate + bsg_mem_1r1w_sync_synth #( + .width_p(width_p), + .els_p(els_p), + .read_write_same_addr_p(read_write_same_addr_p), + .latch_last_read_p(latch_last_read_p), + .verbose_p(verbose_if_synth_p) + ) synth( + .clk_i(clk_lo), + .reset_i(reset_i), + .w_v_i(w_v_i), + .w_addr_i(w_addr_i), + .w_data_i(w_data_i), + .r_v_i(r_v_i), + .r_addr_i(r_addr_i), + .r_data_o(r_data_o) + ); + initial begin + if (((els_p >= 16) || (width_p >= 128)) || ((width_p * els_p) > 256)) + $display("## %L: instantiating width_p=%d, els_p=%d, read_write_same_addr_p=%d, harden_p=%d (%m)", width_p, els_p, read_write_same_addr_p, harden_p); + if (disable_collision_warning_p) + $display("## %L: disable_collision_warning_p is set; you should not have this on unless you have broken code. fix it!\n"); + end + always @(posedge clk_lo) + if (w_v_i) + ; +endmodule +module bsg_mem_1r1w_synth ( + w_clk_i, + w_reset_i, + w_v_i, + w_addr_i, + w_data_i, + r_v_i, + r_addr_i, + r_data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter read_write_same_addr_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + input w_clk_i; + input w_reset_i; + input w_v_i; + input [addr_width_lp - 1:0] w_addr_i; + input [(width_p < 1 ? 0 : width_p - 1):0] w_data_i; + input r_v_i; + input [addr_width_lp - 1:0] r_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r_data_o; + wire unused0 = w_reset_i; + wire unused1 = r_v_i; + generate + if ((width_p == 0) || (els_p == 0)) begin : z + wire unused2 = &{w_clk_i, w_addr_i, w_data_i, r_addr_i}; + assign r_data_o = 1'sb0; + end + else begin : nz + reg [width_p - 1:0] mem [els_p - 1:0]; + wire [addr_width_lp - 1:0] r_addr_li = (els_p > 0 ? r_addr_i : {addr_width_lp {1'sb0}}); + wire [addr_width_lp - 1:0] w_addr_li = (els_p > 0 ? w_addr_i : {addr_width_lp {1'sb0}}); + assign r_data_o = mem[r_addr_li]; + always @(posedge w_clk_i) + if (w_v_i) + mem[w_addr_li] <= w_data_i; + end + endgenerate +endmodule +module bsg_mem_1rw_sync ( + clk_i, + reset_i, + data_i, + addr_i, + v_i, + w_i, + data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter latch_last_read_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter enable_clock_gating_p = 0; + parameter verbose_if_synth_p = 1; + input clk_i; + input reset_i; + input [(width_p < 1 ? 0 : width_p - 1):0] data_i; + input [addr_width_lp - 1:0] addr_i; + input v_i; + input w_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] data_o; + wire clk_lo; + generate + if (enable_clock_gating_p) begin : genblk1 + bsg_clkgate_optional icg( + .clk_i(clk_i), + .en_i(v_i), + .bypass_i(1'b0), + .gated_clock_o(clk_lo) + ); + end + else begin : genblk1 + assign clk_lo = clk_i; + end + endgenerate + initial if (((els_p >= 16) || (width_p >= 128)) || ((width_p * els_p) > 256)) + $display("## %L: instantiating width_p=%d, els_p=%d (%m)", width_p, els_p); + bsg_mem_1rw_sync_synth #( + .width_p(width_p), + .els_p(els_p), + .latch_last_read_p(latch_last_read_p), + .verbose_p(verbose_if_synth_p) + ) synth( + .clk_i(clk_lo), + .reset_i(reset_i), + .data_i(data_i), + .addr_i(addr_i), + .v_i(v_i), + .w_i(w_i), + .data_o(data_o) + ); +endmodule +module bsg_mem_1rw_sync_mask_write_bit ( + clk_i, + reset_i, + data_i, + addr_i, + v_i, + w_mask_i, + w_i, + data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter latch_last_read_p = 0; + parameter enable_clock_gating_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + input clk_i; + input reset_i; + input [(width_p < 1 ? 0 : width_p - 1):0] data_i; + input [addr_width_lp - 1:0] addr_i; + input v_i; + input [(width_p < 1 ? 0 : width_p - 1):0] w_mask_i; + input w_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] data_o; + wire clk_lo; + generate + if (enable_clock_gating_p) begin : genblk1 + bsg_clkgate_optional icg( + .clk_i(clk_i), + .en_i(v_i), + .bypass_i(1'b0), + .gated_clock_o(clk_lo) + ); + end + else begin : genblk1 + assign clk_lo = clk_i; + end + endgenerate + bsg_mem_1rw_sync_mask_write_bit_synth #( + .width_p(width_p), + .els_p(els_p), + .latch_last_read_p(latch_last_read_p) + ) synth( + .clk_i(clk_lo), + .reset_i(reset_i), + .data_i(data_i), + .addr_i(addr_i), + .v_i(v_i), + .w_mask_i(w_mask_i), + .w_i(w_i), + .data_o(data_o) + ); + always @(negedge clk_lo) + if ((els_p > 1) && (v_i === 1)) + ; + initial $display("## %L: instantiating width_p=%d, els_p=%d (%m)", width_p, els_p); +endmodule +module bsg_mem_1rw_sync_mask_write_byte ( + clk_i, + reset_i, + v_i, + w_i, + addr_i, + data_i, + write_mask_i, + data_o +); + reg _sv2v_0; + parameter els_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter data_width_p = 0; + parameter latch_last_read_p = 0; + parameter write_mask_width_lp = data_width_p >> 3; + parameter enable_clock_gating_p = 0; + input clk_i; + input reset_i; + input v_i; + input w_i; + input [addr_width_lp - 1:0] addr_i; + input [(data_width_p < 1 ? 0 : data_width_p - 1):0] data_i; + input [(write_mask_width_lp < 1 ? 0 : write_mask_width_lp - 1):0] write_mask_i; + output wire [(data_width_p < 1 ? 0 : data_width_p - 1):0] data_o; + wire clk_lo; + generate + if (enable_clock_gating_p) begin : genblk1 + bsg_clkgate_optional icg( + .clk_i(clk_i), + .en_i(v_i), + .bypass_i(1'b0), + .gated_clock_o(clk_lo) + ); + end + else begin : genblk1 + assign clk_lo = clk_i; + end + endgenerate + bsg_mem_1rw_sync_mask_write_byte_synth #( + .els_p(els_p), + .data_width_p(data_width_p), + .latch_last_read_p(latch_last_read_p) + ) synth( + .clk_i(clk_lo), + .reset_i(reset_i), + .v_i(v_i), + .w_i(w_i), + .addr_i(addr_i), + .data_i(data_i), + .write_mask_i(write_mask_i), + .data_o(data_o) + ); + always @(*) + if (_sv2v_0) + ; + initial $display("## %L: instantiating data_width_p=%d, els_p=%d (%m)", data_width_p, els_p); + initial _sv2v_0 = 0; +endmodule +module bsg_mem_1rw_sync_mask_write_byte_synth ( + clk_i, + reset_i, + v_i, + w_i, + addr_i, + data_i, + write_mask_i, + data_o +); + parameter els_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter latch_last_read_p = 0; + parameter data_width_p = 0; + parameter write_mask_width_lp = data_width_p >> 3; + input clk_i; + input reset_i; + input v_i; + input w_i; + input [addr_width_lp - 1:0] addr_i; + input [(data_width_p < 1 ? 0 : data_width_p - 1):0] data_i; + input [(write_mask_width_lp < 1 ? 0 : write_mask_width_lp - 1):0] write_mask_i; + output wire [(data_width_p < 1 ? 0 : data_width_p - 1):0] data_o; + genvar _gv_i_21; + generate + if ((data_width_p == 0) || (els_p == 0)) begin : z + wire unused0 = &{clk_i, reset_i, v_i, w_i, addr_i, data_i, write_mask_i}; + assign data_o = 1'sb0; + end + else begin : nz + for (_gv_i_21 = 0; _gv_i_21 < write_mask_width_lp; _gv_i_21 = _gv_i_21 + 1) begin : bk + localparam i = _gv_i_21; + bsg_mem_1rw_sync #( + .width_p(8), + .els_p(els_p), + .addr_width_lp(addr_width_lp), + .latch_last_read_p(latch_last_read_p), + .verbose_if_synth_p(0) + ) mem_1rw_sync( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(data_i[i * 8+:8]), + .addr_i(addr_i), + .v_i(v_i & (w_i ? write_mask_i[i] : 1'b1)), + .w_i(w_i & write_mask_i[i]), + .data_o(data_o[i * 8+:8]) + ); + end + end + endgenerate +endmodule +module bsg_mem_2r1w_sync ( + clk_i, + reset_i, + w_v_i, + w_addr_i, + w_data_i, + r0_v_i, + r0_addr_i, + r0_data_o, + r1_v_i, + r1_addr_i, + r1_data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter read_write_same_addr_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter harden_p = 0; + parameter enable_clock_gating_p = 0; + input clk_i; + input reset_i; + input w_v_i; + input [addr_width_lp - 1:0] w_addr_i; + input [(width_p < 1 ? 0 : width_p - 1):0] w_data_i; + input r0_v_i; + input [addr_width_lp - 1:0] r0_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r0_data_o; + input r1_v_i; + input [addr_width_lp - 1:0] r1_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r1_data_o; + wire clk_lo; + generate + if (enable_clock_gating_p) begin : genblk1 + bsg_clkgate_optional icg( + .clk_i(clk_i), + .en_i((w_v_i | r0_v_i) | r1_v_i), + .bypass_i(1'b0), + .gated_clock_o(clk_lo) + ); + end + else begin : genblk1 + assign clk_lo = clk_i; + end + endgenerate + bsg_mem_2r1w_sync_synth #( + .width_p(width_p), + .els_p(els_p), + .read_write_same_addr_p(read_write_same_addr_p) + ) synth( + .clk_i(clk_lo), + .reset_i(reset_i), + .w_v_i(w_v_i), + .w_addr_i(w_addr_i), + .w_data_i(w_data_i), + .r0_v_i(r0_v_i), + .r0_addr_i(r0_addr_i), + .r0_data_o(r0_data_o), + .r1_v_i(r1_v_i), + .r1_addr_i(r1_addr_i), + .r1_data_o(r1_data_o) + ); + always @(negedge clk_lo) + if (w_v_i) + ; + initial $display("## %L: instantiating width_p=%d, els_p=%d, read_write_same_addr_p=%d, harden_p=%d (%m)", width_p, els_p, read_write_same_addr_p, harden_p); +endmodule +module bsg_mem_2r1w_sync_synth ( + clk_i, + reset_i, + w_v_i, + w_addr_i, + w_data_i, + r0_v_i, + r0_addr_i, + r0_data_o, + r1_v_i, + r1_addr_i, + r1_data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter read_write_same_addr_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + input clk_i; + input reset_i; + input w_v_i; + input [addr_width_lp - 1:0] w_addr_i; + input [(width_p < 1 ? 0 : width_p - 1):0] w_data_i; + input r0_v_i; + input [addr_width_lp - 1:0] r0_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r0_data_o; + input r1_v_i; + input [addr_width_lp - 1:0] r1_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r1_data_o; + wire unused = reset_i; + generate + if (width_p == 0) begin : z + wire unused0 = &{clk_i, w_v_i, w_addr_i, w_data_i, r0_v_i, r0_addr_i, r1_v_i, r1_addr_i}; + assign r0_data_o = 1'sb0; + assign r1_data_o = 1'sb0; + end + else begin : nz + reg [width_p - 1:0] mem [els_p - 1:0]; + reg [addr_width_lp - 1:0] r0_addr_r; + reg [addr_width_lp - 1:0] r1_addr_r; + always @(posedge clk_i) + if (r0_v_i) + r0_addr_r <= r0_addr_i; + else + r0_addr_r <= 1'sbx; + always @(posedge clk_i) + if (r1_v_i) + r1_addr_r <= r1_addr_i; + else + r1_addr_r <= 1'sbx; + assign r0_data_o = mem[r0_addr_r]; + assign r1_data_o = mem[r1_addr_r]; + always @(posedge clk_i) + if (w_v_i) + mem[w_addr_i] <= w_data_i; + end + endgenerate +endmodule +module bsg_mem_3r1w_sync ( + clk_i, + reset_i, + w_v_i, + w_addr_i, + w_data_i, + r0_v_i, + r0_addr_i, + r0_data_o, + r1_v_i, + r1_addr_i, + r1_data_o, + r2_v_i, + r2_addr_i, + r2_data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter read_write_same_addr_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + parameter harden_p = 0; + parameter enable_clock_gating_p = 0; + input clk_i; + input reset_i; + input w_v_i; + input [addr_width_lp - 1:0] w_addr_i; + input [width_p - 1:0] w_data_i; + input r0_v_i; + input [addr_width_lp - 1:0] r0_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r0_data_o; + input r1_v_i; + input [addr_width_lp - 1:0] r1_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r1_data_o; + input r2_v_i; + input [addr_width_lp - 1:0] r2_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r2_data_o; + wire clk_lo; + generate + if (enable_clock_gating_p) begin : genblk1 + bsg_clkgate_optional icg( + .clk_i(clk_i), + .en_i(((w_v_i | r0_v_i) | r1_v_i) | r2_v_i), + .bypass_i(1'b0), + .gated_clock_o(clk_lo) + ); + end + else begin : genblk1 + assign clk_lo = clk_i; + end + endgenerate + bsg_mem_3r1w_sync_synth #( + .width_p(width_p), + .els_p(els_p), + .read_write_same_addr_p(read_write_same_addr_p) + ) synth( + .clk_i(clk_lo), + .reset_i(reset_i), + .w_v_i(w_v_i), + .w_addr_i(w_addr_i), + .w_data_i(w_data_i), + .r0_v_i(r0_v_i), + .r0_addr_i(r0_addr_i), + .r0_data_o(r0_data_o), + .r1_v_i(r1_v_i), + .r1_addr_i(r1_addr_i), + .r1_data_o(r1_data_o), + .r2_v_i(r2_v_i), + .r2_addr_i(r2_addr_i), + .r2_data_o(r2_data_o) + ); + always @(negedge clk_lo) + if (w_v_i) + ; + initial $display("## %L: instantiating width_p=%d, els_p=%d, read_write_same_addr_p=%d, harden_p=%d (%m)", width_p, els_p, read_write_same_addr_p, harden_p); +endmodule +module bsg_mem_3r1w_sync_synth ( + clk_i, + reset_i, + w_v_i, + w_addr_i, + w_data_i, + r0_v_i, + r0_addr_i, + r0_data_o, + r1_v_i, + r1_addr_i, + r1_data_o, + r2_v_i, + r2_addr_i, + r2_data_o +); + parameter width_p = 0; + parameter els_p = 0; + parameter read_write_same_addr_p = 0; + parameter addr_width_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + input clk_i; + input reset_i; + input w_v_i; + input [addr_width_lp - 1:0] w_addr_i; + input [(width_p < 1 ? 0 : width_p - 1):0] w_data_i; + input r0_v_i; + input [addr_width_lp - 1:0] r0_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r0_data_o; + input r1_v_i; + input [addr_width_lp - 1:0] r1_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r1_data_o; + input r2_v_i; + input [addr_width_lp - 1:0] r2_addr_i; + output wire [(width_p < 1 ? 0 : width_p - 1):0] r2_data_o; + wire unused = reset_i; + generate + if (width_p == 0) begin : z + wire unused0 = &{clk_i, w_v_i, w_addr_i, w_data_i, r0_v_i, r0_addr_i, r1_v_i, r1_addr_i, r2_v_i, r2_addr_i}; + assign r0_data_o = 1'sb0; + assign r1_data_o = 1'sb0; + assign r2_data_o = 1'sb0; + end + else begin : nz + reg [width_p - 1:0] mem [els_p - 1:0]; + reg [addr_width_lp - 1:0] r0_addr_r; + reg [addr_width_lp - 1:0] r1_addr_r; + reg [addr_width_lp - 1:0] r2_addr_r; + always @(posedge clk_i) + if (r0_v_i) + r0_addr_r <= r0_addr_i; + else + r0_addr_r <= 1'sbx; + always @(posedge clk_i) + if (r1_v_i) + r1_addr_r <= r1_addr_i; + else + r1_addr_r <= 1'sbx; + always @(posedge clk_i) + if (r2_v_i) + r2_addr_r <= r2_addr_i; + else + r2_addr_r <= 1'sbx; + assign r0_data_o = mem[r0_addr_r]; + assign r1_data_o = mem[r1_addr_r]; + assign r2_data_o = mem[r2_addr_r]; + always @(posedge clk_i) + if (w_v_i) + mem[w_addr_i] <= w_data_i; + end + endgenerate +endmodule +module bsg_adder_cin ( + a_i, + b_i, + cin_i, + o +); + parameter width_p = 0; + parameter harden_p = 1; + input [width_p - 1:0] a_i; + input [width_p - 1:0] b_i; + input cin_i; + output wire [width_p - 1:0] o; + assign o = (a_i + b_i) + {{width_p - 1 {1'b0}}, cin_i}; +endmodule +module bsg_adder_one_hot ( + a_i, + b_i, + o +); + parameter width_p = 0; + parameter output_width_p = width_p; + input [width_p - 1:0] a_i; + input [width_p - 1:0] b_i; + output wire [output_width_p - 1:0] o; + genvar _gv_i_22; + genvar _gv_j_1; + generate + for (_gv_i_22 = 0; _gv_i_22 < output_width_p; _gv_i_22 = _gv_i_22 + 1) begin : rof + localparam i = _gv_i_22; + wire [width_p - 1:0] aggregate; + for (_gv_j_1 = 0; _gv_j_1 < width_p; _gv_j_1 = _gv_j_1 + 1) begin : rof2 + localparam j = _gv_j_1; + if (i < j) begin : rof3 + if (((output_width_p + i) - j) < width_p) begin : genblk1 + assign aggregate[j] = a_i[j] & b_i[(output_width_p + i) - j]; + end + else begin : genblk1 + assign aggregate[j] = 1'b0; + end + end + else if ((i - j) < width_p) begin : genblk1 + assign aggregate[j] = a_i[j] & b_i[i - j]; + end + else begin : genblk1 + assign aggregate[j] = 1'b0; + end + end + assign o[i] = |aggregate; + end + endgenerate +endmodule +module bsg_arb_fixed ( + ready_then_i, + reqs_i, + grants_o +); + parameter inputs_p = 0; + parameter lo_to_hi_p = 0; + input ready_then_i; + input [inputs_p - 1:0] reqs_i; + output wire [inputs_p - 1:0] grants_o; + wire [inputs_p - 1:0] grants_unmasked_lo; + bsg_priority_encode_one_hot_out #( + .width_p(inputs_p), + .lo_to_hi_p(lo_to_hi_p) + ) enc( + .i(reqs_i), + .o(grants_unmasked_lo), + .v_o() + ); + assign grants_o = grants_unmasked_lo & {inputs_p {ready_then_i}}; +endmodule +module bsg_arb_round_robin_composable ( + clk_i, + reset_i, + reqs_i, + grants_o, + thermocode_r_i, + thermocode_n_o +); + reg _sv2v_0; + parameter width_p = 0; + localparam thermo_width_m1_lp = (width_p < 2 ? 0 : width_p - 2); + input clk_i; + input reset_i; + input [width_p - 1:0] reqs_i; + output wire [width_p - 1:0] grants_o; + input [thermo_width_m1_lp:0] thermocode_r_i; + output reg [thermo_width_m1_lp:0] thermocode_n_o; + generate + if (width_p == 1) begin : fi + assign grants_o = reqs_i; + wire [(thermo_width_m1_lp >= 0 ? thermo_width_m1_lp + 1 : 1 - thermo_width_m1_lp):1] sv2v_tmp_99BDC; + assign sv2v_tmp_99BDC = 1'b0; + always @(*) thermocode_n_o = sv2v_tmp_99BDC; + end + else begin : fi2 + wire [(width_p * 2) - 1:0] scan_li = {1'b0, thermocode_r_i & reqs_i[width_p - 2:0], reqs_i}; + wire [(width_p * 2) - 1:0] scan_lo; + bsg_scan #( + .width_p(width_p * 2), + .or_p(1) + ) scan( + .i(scan_li), + .o(scan_lo) + ); + wire [(width_p * 2) - 1:0] edge_detect = ~(scan_lo >> 1) & scan_lo; + assign grants_o = edge_detect[(width_p * 2) - 1-:width_p] | edge_detect[width_p - 1:0]; + always @(*) begin + if (_sv2v_0) + ; + if (|scan_li[(width_p * 2) - 1-:width_p]) + thermocode_n_o = scan_lo[(width_p * 2) - 1-:width_p - 1]; + else + thermocode_n_o = scan_lo[width_p - 1:1]; + end + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bsg_arb_round_robin ( + clk_i, + reset_i, + reqs_i, + grants_o, + yumi_i +); + parameter width_p = 0; + input clk_i; + input reset_i; + input [width_p - 1:0] reqs_i; + output wire [width_p - 1:0] grants_o; + input yumi_i; + generate + if (width_p == 1) begin : fi + assign grants_o = reqs_i; + end + else begin : fi2 + reg [width_p - 2:0] thermocode_r; + wire [width_p - 2:0] thermocode_n; + always @(posedge clk_i) + if (reset_i) + thermocode_r <= 1'sb0; + else if (yumi_i) + thermocode_r <= thermocode_n; + bsg_arb_round_robin_composable #(.width_p(width_p)) barrc( + .clk_i(clk_i), + .reset_i(reset_i), + .reqs_i(reqs_i), + .grants_o(grants_o), + .thermocode_r_i(thermocode_r), + .thermocode_n_o(thermocode_n) + ); + end + endgenerate +endmodule +module bsg_array_concentrate_static ( + i, + o +); + parameter pattern_els_p = 0; + parameter width_p = 0; + parameter dense_els_lp = 32; + parameter sparse_els_lp = 1'b0 + (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((pattern_els_p >> 0) & 1'b1) + ((pattern_els_p >> 1) & 1'b1)) + ((pattern_els_p >> 2) & 1'b1)) + ((pattern_els_p >> 3) & 1'b1)) + ((pattern_els_p >> 4) & 1'b1)) + ((pattern_els_p >> 5) & 1'b1)) + ((pattern_els_p >> 6) & 1'b1)) + ((pattern_els_p >> 7) & 1'b1)) + ((pattern_els_p >> 8) & 1'b1)) + ((pattern_els_p >> 9) & 1'b1)) + ((pattern_els_p >> 10) & 1'b1)) + ((pattern_els_p >> 11) & 1'b1)) + ((pattern_els_p >> 12) & 1'b1)) + ((pattern_els_p >> 13) & 1'b1)) + ((pattern_els_p >> 14) & 1'b1)) + ((pattern_els_p >> 15) & 1'b1)) + ((pattern_els_p >> 16) & 1'b1)) + ((pattern_els_p >> 17) & 1'b1)) + ((pattern_els_p >> 18) & 1'b1)) + ((pattern_els_p >> 19) & 1'b1)) + ((pattern_els_p >> 20) & 1'b1)) + ((pattern_els_p >> 21) & 1'b1)) + ((pattern_els_p >> 22) & 1'b1)) + ((pattern_els_p >> 23) & 1'b1)) + ((pattern_els_p >> 24) & 1'b1)) + ((pattern_els_p >> 25) & 1'b1)) + ((pattern_els_p >> 26) & 1'b1)) + ((pattern_els_p >> 27) & 1'b1)) + ((pattern_els_p >> 28) & 1'b1)) + ((pattern_els_p >> 29) & 1'b1)) + ((pattern_els_p >> 30) & 1'b1)) + ((pattern_els_p >> 31) & 1'b1)) + ((pattern_els_p >> 32) & 1'b1)) + ((pattern_els_p >> 33) & 1'b1)) + ((pattern_els_p >> 34) & 1'b1)) + ((pattern_els_p >> 35) & 1'b1)) + ((pattern_els_p >> 36) & 1'b1)) + ((pattern_els_p >> 37) & 1'b1)) + ((pattern_els_p >> 38) & 1'b1)) + ((pattern_els_p >> 39) & 1'b1)) + ((pattern_els_p >> 40) & 1'b1)) + ((pattern_els_p >> 41) & 1'b1)) + ((pattern_els_p >> 42) & 1'b1)) + ((pattern_els_p >> 43) & 1'b1)) + ((pattern_els_p >> 44) & 1'b1)) + ((pattern_els_p >> 45) & 1'b1)) + ((pattern_els_p >> 46) & 1'b1)) + ((pattern_els_p >> 47) & 1'b1)) + ((pattern_els_p >> 48) & 1'b1)) + ((pattern_els_p >> 49) & 1'b1)) + ((pattern_els_p >> 50) & 1'b1)) + ((pattern_els_p >> 51) & 1'b1)) + ((pattern_els_p >> 52) & 1'b1)) + ((pattern_els_p >> 53) & 1'b1)) + ((pattern_els_p >> 54) & 1'b1)) + ((pattern_els_p >> 55) & 1'b1)) + ((pattern_els_p >> 56) & 1'b1)) + ((pattern_els_p >> 57) & 1'b1)) + ((pattern_els_p >> 58) & 1'b1)) + ((pattern_els_p >> 59) & 1'b1)) + ((pattern_els_p >> 60) & 1'b1)) + ((pattern_els_p >> 61) & 1'b1)) + ((pattern_els_p >> 62) & 1'b1)) + ((pattern_els_p >> 63) & 1'b1)); + input [(dense_els_lp * width_p) - 1:0] i; + output wire [(sparse_els_lp * width_p) - 1:0] o; + genvar _gv_j_2; + generate + if (pattern_els_p[0]) begin : genblk1 + assign o[0+:width_p] = i[0+:width_p]; + end + for (_gv_j_2 = 1; _gv_j_2 < dense_els_lp; _gv_j_2 = _gv_j_2 + 1) begin : rof + localparam j = _gv_j_2; + if (pattern_els_p[j]) begin : genblk1 + assign o[(((j * 1) < 65 ? 1'b0 : {j {1'sbx}}) + (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((pattern_els_p[j - 1:0] >> 0) & 1'b1) + ((pattern_els_p[j - 1:0] >> 1) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 2) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 3) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 4) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 5) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 6) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 7) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 8) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 9) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 10) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 11) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 12) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 13) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 14) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 15) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 16) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 17) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 18) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 19) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 20) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 21) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 22) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 23) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 24) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 25) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 26) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 27) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 28) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 29) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 30) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 31) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 32) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 33) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 34) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 35) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 36) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 37) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 38) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 39) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 40) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 41) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 42) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 43) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 44) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 45) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 46) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 47) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 48) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 49) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 50) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 51) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 52) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 53) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 54) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 55) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 56) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 57) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 58) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 59) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 60) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 61) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 62) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 63) & 1'b1))) * width_p+:width_p] = i[j * width_p+:width_p]; + end + end + endgenerate +endmodule +module bsg_buf ( + i, + o +); + parameter width_p = 0; + parameter harden_p = 1; + input [width_p - 1:0] i; + output wire [width_p - 1:0] o; + assign o = i; +endmodule +module bsg_circular_ptr ( + clk, + reset_i, + add_i, + o, + n_o +); + reg _sv2v_0; + parameter slots_p = 0; + parameter max_add_p = 0; + parameter const_incr_p = 1'b0; + parameter ptr_width_lp = ((slots_p == 1) || (slots_p == 0) ? 1 : $clog2(slots_p)); + input clk; + input reset_i; + input [$clog2(max_add_p + 1) - 1:0] add_i; + output wire [ptr_width_lp - 1:0] o; + output wire [ptr_width_lp - 1:0] n_o; + reg [ptr_width_lp - 1:0] ptr_r; + wire [ptr_width_lp - 1:0] ptr_n; + wire [ptr_width_lp - 1:0] ptr_nowrap; + wire [ptr_width_lp:0] ptr_wrap; + assign o = ptr_r; + assign n_o = ptr_n; + always @(posedge clk) + if (reset_i) + ptr_r <= 1'sb0; + else + ptr_r <= ptr_n; + function automatic [((ptr_width_lp + 0) >= 0 ? ptr_width_lp + 1 : 1 - (ptr_width_lp + 0)) - 1:0] sv2v_cast_BF15D; + input reg [((ptr_width_lp + 0) >= 0 ? ptr_width_lp + 1 : 1 - (ptr_width_lp + 0)) - 1:0] inp; + sv2v_cast_BF15D = inp; + endfunction + function automatic [ptr_width_lp - 1:0] sv2v_cast_B8785; + input reg [ptr_width_lp - 1:0] inp; + sv2v_cast_B8785 = inp; + endfunction + generate + if (slots_p == 1) begin : genblk1 + assign ptr_n = 1'b0; + wire ignore = |add_i; + end + else if ((1 << $clog2(slots_p)) == slots_p) begin : genblk1 + if ((max_add_p == 1) || const_incr_p) begin : genblk1 + wire [ptr_width_lp - 1:0] ptr_r_p1 = ptr_r + max_add_p[ptr_width_lp - 1:0]; + assign ptr_n = (add_i ? ptr_r_p1 : ptr_r); + end + else begin : genblk1 + assign ptr_n = sv2v_cast_B8785(ptr_r + add_i); + end + end + else begin : notpow2 + assign ptr_wrap = sv2v_cast_BF15D(({1'b0, ptr_r} - slots_p) + add_i); + assign ptr_nowrap = ptr_r + add_i; + assign ptr_n = (~ptr_wrap[ptr_width_lp] ? ptr_wrap[0+:ptr_width_lp] : ptr_nowrap); + always @(*) + if (_sv2v_0) + ; + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bsg_concentrate_static ( + i, + o +); + parameter pattern_els_p = 0; + parameter width_lp = 32; + parameter set_els_lp = 1'b0 + (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((pattern_els_p >> 0) & 1'b1) + ((pattern_els_p >> 1) & 1'b1)) + ((pattern_els_p >> 2) & 1'b1)) + ((pattern_els_p >> 3) & 1'b1)) + ((pattern_els_p >> 4) & 1'b1)) + ((pattern_els_p >> 5) & 1'b1)) + ((pattern_els_p >> 6) & 1'b1)) + ((pattern_els_p >> 7) & 1'b1)) + ((pattern_els_p >> 8) & 1'b1)) + ((pattern_els_p >> 9) & 1'b1)) + ((pattern_els_p >> 10) & 1'b1)) + ((pattern_els_p >> 11) & 1'b1)) + ((pattern_els_p >> 12) & 1'b1)) + ((pattern_els_p >> 13) & 1'b1)) + ((pattern_els_p >> 14) & 1'b1)) + ((pattern_els_p >> 15) & 1'b1)) + ((pattern_els_p >> 16) & 1'b1)) + ((pattern_els_p >> 17) & 1'b1)) + ((pattern_els_p >> 18) & 1'b1)) + ((pattern_els_p >> 19) & 1'b1)) + ((pattern_els_p >> 20) & 1'b1)) + ((pattern_els_p >> 21) & 1'b1)) + ((pattern_els_p >> 22) & 1'b1)) + ((pattern_els_p >> 23) & 1'b1)) + ((pattern_els_p >> 24) & 1'b1)) + ((pattern_els_p >> 25) & 1'b1)) + ((pattern_els_p >> 26) & 1'b1)) + ((pattern_els_p >> 27) & 1'b1)) + ((pattern_els_p >> 28) & 1'b1)) + ((pattern_els_p >> 29) & 1'b1)) + ((pattern_els_p >> 30) & 1'b1)) + ((pattern_els_p >> 31) & 1'b1)) + ((pattern_els_p >> 32) & 1'b1)) + ((pattern_els_p >> 33) & 1'b1)) + ((pattern_els_p >> 34) & 1'b1)) + ((pattern_els_p >> 35) & 1'b1)) + ((pattern_els_p >> 36) & 1'b1)) + ((pattern_els_p >> 37) & 1'b1)) + ((pattern_els_p >> 38) & 1'b1)) + ((pattern_els_p >> 39) & 1'b1)) + ((pattern_els_p >> 40) & 1'b1)) + ((pattern_els_p >> 41) & 1'b1)) + ((pattern_els_p >> 42) & 1'b1)) + ((pattern_els_p >> 43) & 1'b1)) + ((pattern_els_p >> 44) & 1'b1)) + ((pattern_els_p >> 45) & 1'b1)) + ((pattern_els_p >> 46) & 1'b1)) + ((pattern_els_p >> 47) & 1'b1)) + ((pattern_els_p >> 48) & 1'b1)) + ((pattern_els_p >> 49) & 1'b1)) + ((pattern_els_p >> 50) & 1'b1)) + ((pattern_els_p >> 51) & 1'b1)) + ((pattern_els_p >> 52) & 1'b1)) + ((pattern_els_p >> 53) & 1'b1)) + ((pattern_els_p >> 54) & 1'b1)) + ((pattern_els_p >> 55) & 1'b1)) + ((pattern_els_p >> 56) & 1'b1)) + ((pattern_els_p >> 57) & 1'b1)) + ((pattern_els_p >> 58) & 1'b1)) + ((pattern_els_p >> 59) & 1'b1)) + ((pattern_els_p >> 60) & 1'b1)) + ((pattern_els_p >> 61) & 1'b1)) + ((pattern_els_p >> 62) & 1'b1)) + ((pattern_els_p >> 63) & 1'b1)); + input [width_lp - 1:0] i; + output wire [set_els_lp - 1:0] o; + genvar _gv_j_3; + generate + if (pattern_els_p[0]) begin : genblk1 + assign o[0] = i[0]; + end + for (_gv_j_3 = 1; _gv_j_3 < width_lp; _gv_j_3 = _gv_j_3 + 1) begin : rof + localparam j = _gv_j_3; + if (pattern_els_p[j]) begin : genblk1 + assign o[((j * 1) < 65 ? 1'b0 : {j {1'sbx}}) + (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((pattern_els_p[j - 1:0] >> 0) & 1'b1) + ((pattern_els_p[j - 1:0] >> 1) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 2) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 3) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 4) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 5) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 6) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 7) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 8) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 9) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 10) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 11) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 12) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 13) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 14) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 15) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 16) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 17) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 18) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 19) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 20) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 21) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 22) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 23) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 24) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 25) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 26) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 27) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 28) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 29) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 30) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 31) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 32) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 33) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 34) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 35) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 36) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 37) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 38) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 39) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 40) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 41) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 42) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 43) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 44) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 45) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 46) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 47) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 48) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 49) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 50) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 51) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 52) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 53) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 54) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 55) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 56) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 57) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 58) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 59) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 60) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 61) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 62) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 63) & 1'b1))] = i[j]; + end + end + endgenerate +endmodule +module bsg_counting_leading_zeros ( + a_i, + num_zero_o +); + parameter width_p = 0; + parameter num_zero_width_lp = $clog2({1'b0, width_p} + 1); + input [width_p - 1:0] a_i; + output wire [num_zero_width_lp - 1:0] num_zero_o; + wire [width_p:0] reversed; + genvar _gv_i_23; + generate + for (_gv_i_23 = 0; _gv_i_23 < width_p; _gv_i_23 = _gv_i_23 + 1) begin : genblk1 + localparam i = _gv_i_23; + assign reversed[i] = a_i[(width_p - 1) - i]; + end + endgenerate + assign reversed[width_p] = 1'b1; + bsg_priority_encode #( + .width_p(width_p + 1), + .lo_to_hi_p(1) + ) pe0( + .i(reversed), + .addr_o(num_zero_o), + .v_o() + ); +endmodule +module bsg_counter_clear_up ( + clk_i, + reset_i, + clear_i, + up_i, + count_o +); + parameter max_val_p = 0; + parameter init_val_p = 1'sbx; + parameter ptr_width_lp = $clog2({1'b0, max_val_p} + 1); + parameter disable_overflow_warning_p = 0; + input clk_i; + input reset_i; + input clear_i; + input up_i; + output reg [ptr_width_lp - 1:0] count_o; + function automatic [ptr_width_lp - 1:0] sv2v_cast_B8785; + input reg [ptr_width_lp - 1:0] inp; + sv2v_cast_B8785 = inp; + endfunction + always @(posedge clk_i) + if (reset_i) + count_o <= init_val_p; + else if (clear_i) + count_o <= sv2v_cast_B8785(up_i); + else if (up_i) + count_o <= count_o + 1'b1; + function automatic signed [ptr_width_lp - 1:0] sv2v_cast_B8785_signed; + input reg signed [ptr_width_lp - 1:0] inp; + sv2v_cast_B8785_signed = inp; + endfunction + always @(negedge clk_i) + if ((((count_o == sv2v_cast_B8785_signed(max_val_p)) && up_i) && (reset_i === 0)) && !disable_overflow_warning_p) + $display("%m error: counter overflow at time %t", $time); +endmodule +module bsg_counter_clear_up_one_hot ( + clk_i, + reset_i, + clear_i, + up_i, + count_r_o +); + reg _sv2v_0; + parameter max_val_p = 0; + parameter width_lp = max_val_p + 1; + function automatic signed [width_lp - 1:0] sv2v_cast_45AF8_signed; + input reg signed [width_lp - 1:0] inp; + sv2v_cast_45AF8_signed = inp; + endfunction + parameter init_val_p = sv2v_cast_45AF8_signed(1); + input clk_i; + input reset_i; + input clear_i; + input up_i; + output wire [width_lp - 1:0] count_r_o; + reg [width_lp - 1:0] bits_r; + reg [width_lp - 1:0] bits_n; + always @(*) begin + if (_sv2v_0) + ; + bits_n = bits_r; + if (clear_i) + bits_n = sv2v_cast_45AF8_signed(1); + if (up_i) + bits_n = {bits_n[width_lp - 2:0], bits_n[width_lp - 1]}; + if (reset_i) + bits_n = sv2v_cast_45AF8_signed(init_val_p); + end + always @(posedge clk_i) + if ((reset_i | up_i) | clear_i) + bits_r <= bits_n; + assign count_r_o = bits_r; + initial _sv2v_0 = 0; +endmodule +module bsg_counter_clock_downsample ( + clk_i, + reset_i, + val_i, + clk_r_o +); + parameter width_p = 0; + parameter harden_p = 0; + input clk_i; + input reset_i; + input [width_p - 1:0] val_i; + output reg clk_r_o; + wire strobe_r; + bsg_strobe #( + .width_p(width_p), + .harden_p(harden_p) + ) strobe( + .clk_i(clk_i), + .reset_r_i(reset_i), + .init_val_r_i(val_i), + .strobe_r_o(strobe_r) + ); + always @(posedge clk_i) + if (reset_i) + clk_r_o <= 1'b0; + else if (strobe_r) + clk_r_o <= ~clk_r_o; +endmodule +module bsg_counter_set_down ( + clk_i, + reset_i, + set_i, + val_i, + down_i, + count_r_o +); + reg _sv2v_0; + parameter width_p = 0; + parameter init_val_p = 1'sb0; + parameter set_and_down_exclusive_p = 0; + input clk_i; + input reset_i; + input set_i; + input [width_p - 1:0] val_i; + input down_i; + output wire [width_p - 1:0] count_r_o; + reg [width_p - 1:0] ctr_r; + reg [width_p - 1:0] ctr_n; + function automatic [width_p - 1:0] sv2v_cast_0835B; + input reg [width_p - 1:0] inp; + sv2v_cast_0835B = inp; + endfunction + always @(posedge clk_i) + if (reset_i) + ctr_r <= sv2v_cast_0835B(init_val_p); + else + ctr_r <= ctr_n; + generate + if (set_and_down_exclusive_p) begin : excl + always @(*) begin + if (_sv2v_0) + ; + ctr_n = ctr_r; + if (set_i) + ctr_n = val_i; + else if (down_i) + ctr_n = ctr_n - 1; + end + end + else begin : non_excl + always @(*) begin + if (_sv2v_0) + ; + ctr_n = ctr_r; + if (set_i) + ctr_n = val_i; + if (down_i) + ctr_n = ctr_n - 1; + end + end + endgenerate + assign count_r_o = ctr_r; + always @(negedge clk_i) begin + if ((!reset_i && down_i) && (ctr_n == {width_p {1'sb1}})) + $display("%m error: counter underflow at time %t", $time); + if (((~reset_i & set_and_down_exclusive_p) & set_i) & down_i) + $display("%m error: set and down non-exclusive at time %t", $time); + end + initial _sv2v_0 = 0; +endmodule +module bsg_counter_set_en ( + clk_i, + reset_i, + set_i, + en_i, + val_i, + count_o +); + parameter max_val_p = 0; + parameter lg_max_val_lp = $clog2({1'b0, max_val_p} + 1); + parameter reset_val_p = 0; + input clk_i; + input reset_i; + input set_i; + input en_i; + input [lg_max_val_lp - 1:0] val_i; + output reg [lg_max_val_lp - 1:0] count_o; + function automatic signed [lg_max_val_lp - 1:0] sv2v_cast_F40FF_signed; + input reg signed [lg_max_val_lp - 1:0] inp; + sv2v_cast_F40FF_signed = inp; + endfunction + always @(posedge clk_i) + if (reset_i) + count_o <= sv2v_cast_F40FF_signed(reset_val_p); + else if (set_i) + count_o <= val_i; + else if (en_i) + count_o <= count_o + 1'b1; +endmodule +module bsg_counter_up_down ( + clk_i, + reset_i, + up_i, + down_i, + count_o +); + parameter max_val_p = 0; + parameter init_val_p = 0; + parameter max_step_p = 0; + parameter step_width_lp = $clog2({1'b0, max_step_p} + 1); + parameter ptr_width_lp = $clog2({1'b0, max_val_p} + 1); + input clk_i; + input reset_i; + input [step_width_lp - 1:0] up_i; + input [step_width_lp - 1:0] down_i; + output reg [ptr_width_lp - 1:0] count_o; + always @(posedge clk_i) + if (reset_i) + count_o <= init_val_p; + else + count_o <= (count_o - down_i) + up_i; + always @(negedge clk_i) begin + if ((((count_o == max_val_p) && up_i) && !down_i) && (reset_i === 1'b0)) + $display("%m error: counter overflow at time %t", $time); + if ((((count_o == 0) && down_i) && !up_i) && (reset_i === 1'b0)) + $display("%m error: counter underflow at time %t", $time); + end +endmodule +module bsg_crossbar_o_by_i ( + i, + sel_oi_one_hot_i, + o +); + parameter i_els_p = 0; + parameter o_els_p = 0; + parameter width_p = 0; + input [(i_els_p * width_p) - 1:0] i; + input [(o_els_p * i_els_p) - 1:0] sel_oi_one_hot_i; + output wire [(o_els_p * width_p) - 1:0] o; + genvar _gv_lineout_1; + generate + for (_gv_lineout_1 = 0; _gv_lineout_1 < o_els_p; _gv_lineout_1 = _gv_lineout_1 + 1) begin : l + localparam lineout = _gv_lineout_1; + bsg_mux_one_hot #( + .width_p(width_p), + .els_p(i_els_p) + ) mux_one_hot( + .data_i(i), + .sel_one_hot_i(sel_oi_one_hot_i[lineout * i_els_p+:i_els_p]), + .data_o(o[lineout * width_p+:width_p]) + ); + end + endgenerate +endmodule +module bsg_crossbar_control_locking_o_by_i ( + clk_i, + reset_i, + valid_i, + sel_io_i, + yumi_o, + unlock_i, + ready_and_i, + valid_o, + grants_oi_one_hot_o +); + parameter i_els_p = 0; + parameter o_els_p = 0; + parameter lg_o_els_lp = ((o_els_p == 1) || (o_els_p == 0) ? 1 : $clog2(o_els_p)); + input clk_i; + input reset_i; + input [i_els_p - 1:0] valid_i; + input [(i_els_p * lg_o_els_lp) - 1:0] sel_io_i; + output wire [i_els_p - 1:0] yumi_o; + input [o_els_p - 1:0] unlock_i; + input [o_els_p - 1:0] ready_and_i; + output wire [o_els_p - 1:0] valid_o; + output wire [(o_els_p * i_els_p) - 1:0] grants_oi_one_hot_o; + wire [(i_els_p * o_els_p) - 1:0] o_select; + wire [(o_els_p * i_els_p) - 1:0] o_select_t; + genvar _gv_i_24; + generate + for (_gv_i_24 = 0; _gv_i_24 < i_els_p; _gv_i_24 = _gv_i_24 + 1) begin : dv + localparam i = _gv_i_24; + bsg_decode_with_v #(.num_out_p(o_els_p)) dv0( + .i(sel_io_i[i * lg_o_els_lp+:lg_o_els_lp]), + .v_i(valid_i[i]), + .o(o_select[i * o_els_p+:o_els_p]) + ); + end + endgenerate + bsg_transpose #( + .width_p(o_els_p), + .els_p(i_els_p) + ) trans0( + .i(o_select), + .o(o_select_t) + ); + wire [o_els_p - 1:0] rr_yumi_li; + wire [(o_els_p * i_els_p) - 1:0] rr_yumi_lo; + wire [(i_els_p * o_els_p) - 1:0] rr_yumi_lo_t; + genvar _gv_i_25; + generate + for (_gv_i_25 = 0; _gv_i_25 < o_els_p; _gv_i_25 = _gv_i_25 + 1) begin : rr + localparam i = _gv_i_25; + wire [i_els_p - 1:0] not_req_mask_r; + wire [i_els_p - 1:0] req_mask_r; + wire [i_els_p - 1:0] reqs_li; + bsg_dff_reset_en #(.width_p(i_els_p)) req_words_reg( + .clk_i(clk_i), + .reset_i(reset_i || unlock_i[i]), + .en_i(&req_mask_r & |grants_oi_one_hot_o[i * i_els_p+:i_els_p]), + .data_i(~grants_oi_one_hot_o[i * i_els_p+:i_els_p]), + .data_o(not_req_mask_r) + ); + assign req_mask_r = ~not_req_mask_r; + assign reqs_li = o_select_t[i * i_els_p+:i_els_p] & req_mask_r; + assign valid_o[i] = |reqs_li; + assign rr_yumi_li[i] = valid_o[i] & ready_and_i[i]; + bsg_arb_round_robin #(.width_p(i_els_p)) rr0( + .clk_i(clk_i), + .reset_i(reset_i), + .reqs_i(reqs_li), + .grants_o(grants_oi_one_hot_o[i * i_els_p+:i_els_p]), + .yumi_i(rr_yumi_li[i]) + ); + assign rr_yumi_lo[i * i_els_p+:i_els_p] = grants_oi_one_hot_o[i * i_els_p+:i_els_p] & {i_els_p {rr_yumi_li[i]}}; + end + endgenerate + bsg_transpose #( + .width_p(i_els_p), + .els_p(o_els_p) + ) trans1( + .i(rr_yumi_lo), + .o(rr_yumi_lo_t) + ); + genvar _gv_i_26; + generate + for (_gv_i_26 = 0; _gv_i_26 < i_els_p; _gv_i_26 = _gv_i_26 + 1) begin : genblk3 + localparam i = _gv_i_26; + assign yumi_o[i] = |rr_yumi_lo_t[i * o_els_p+:o_els_p]; + end + endgenerate +endmodule +module bsg_decode ( + i, + o +); + parameter num_out_p = 0; + input [((num_out_p == 1) || (num_out_p == 0) ? 1 : $clog2(num_out_p)) - 1:0] i; + output wire [num_out_p - 1:0] o; + function automatic [num_out_p - 1:0] sv2v_cast_DDD64; + input reg [num_out_p - 1:0] inp; + sv2v_cast_DDD64 = inp; + endfunction + generate + if (num_out_p == 1) begin : genblk1 + wire unused = i; + assign o = 1'b1; + end + else begin : genblk1 + assign o = sv2v_cast_DDD64(1'b1 << i); + end + endgenerate +endmodule +module bsg_decode_with_v ( + i, + v_i, + o +); + parameter num_out_p = 0; + input [((num_out_p == 1) || (num_out_p == 0) ? 1 : $clog2(num_out_p)) - 1:0] i; + input v_i; + output wire [num_out_p - 1:0] o; + wire [num_out_p - 1:0] lo; + bsg_decode #(.num_out_p(num_out_p)) bd( + .i(i), + .o(lo) + ); + assign o = {num_out_p {v_i}} & lo; +endmodule +module bsg_dff ( + clk_i, + data_i, + data_o +); + parameter width_p = 0; + parameter harden_p = 0; + parameter strength_p = 1; + input clk_i; + input [width_p - 1:0] data_i; + output wire [width_p - 1:0] data_o; + reg [width_p - 1:0] data_r; + assign data_o = data_r; + always @(posedge clk_i) data_r <= data_i; +endmodule +module bsg_dff_chain ( + clk_i, + data_i, + data_o +); + parameter width_p = 0; + parameter num_stages_p = 1; + input clk_i; + input [width_p - 1:0] data_i; + output wire [width_p - 1:0] data_o; + generate + if (num_stages_p == 0) begin : pass_through + wire unused = clk_i; + assign data_o = data_i; + end + else begin : chained + wire [(num_stages_p >= 0 ? ((num_stages_p + 1) * width_p) - 1 : ((1 - num_stages_p) * width_p) + ((num_stages_p * width_p) - 1)):(num_stages_p >= 0 ? 0 : num_stages_p * width_p)] data_delayed; + assign data_delayed[(num_stages_p >= 0 ? 0 : num_stages_p) * width_p+:width_p] = data_i; + assign data_o = data_delayed[(num_stages_p >= 0 ? num_stages_p : num_stages_p - num_stages_p) * width_p+:width_p]; + genvar _gv_i_27; + for (_gv_i_27 = 1; _gv_i_27 <= num_stages_p; _gv_i_27 = _gv_i_27 + 1) begin : genblk1 + localparam i = _gv_i_27; + bsg_dff #(.width_p(width_p)) ch_reg( + .clk_i(clk_i), + .data_i(data_delayed[(num_stages_p >= 0 ? i - 1 : num_stages_p - (i - 1)) * width_p+:width_p]), + .data_o(data_delayed[(num_stages_p >= 0 ? i : num_stages_p - i) * width_p+:width_p]) + ); + end + end + endgenerate +endmodule +module bsg_dff_en ( + clk_i, + data_i, + en_i, + data_o +); + parameter width_p = 0; + parameter harden_p = 1; + parameter strength_p = 1; + input clk_i; + input [width_p - 1:0] data_i; + input en_i; + output wire [width_p - 1:0] data_o; + reg [width_p - 1:0] data_r; + assign data_o = data_r; + always @(posedge clk_i) + if (en_i) + data_r <= data_i; +endmodule +module bsg_dff_en_bypass ( + clk_i, + en_i, + data_i, + data_o +); + parameter width_p = 0; + parameter harden_p = 0; + parameter strength_p = 0; + input clk_i; + input en_i; + input [width_p - 1:0] data_i; + output wire [width_p - 1:0] data_o; + wire [width_p - 1:0] data_r; + bsg_dff_en #( + .width_p(width_p), + .harden_p(harden_p), + .strength_p(strength_p) + ) dff( + .clk_i(clk_i), + .en_i(en_i), + .data_i(data_i), + .data_o(data_r) + ); + assign data_o = (en_i ? data_i : data_r); +endmodule +module bsg_dff_reset ( + clk_i, + reset_i, + data_i, + data_o +); + parameter width_p = 0; + parameter reset_val_p = 0; + parameter harden_p = 0; + input clk_i; + input reset_i; + input [width_p - 1:0] data_i; + output wire [width_p - 1:0] data_o; + reg [width_p - 1:0] data_r; + assign data_o = data_r; + function automatic signed [width_p - 1:0] sv2v_cast_0835B_signed; + input reg signed [width_p - 1:0] inp; + sv2v_cast_0835B_signed = inp; + endfunction + always @(posedge clk_i) + if (reset_i) + data_r <= sv2v_cast_0835B_signed(reset_val_p); + else + data_r <= data_i; +endmodule +module bsg_dff_reset_en ( + clk_i, + reset_i, + en_i, + data_i, + data_o +); + parameter width_p = 0; + parameter reset_val_p = 0; + parameter harden_p = 0; + input clk_i; + input reset_i; + input en_i; + input [width_p - 1:0] data_i; + output wire [width_p - 1:0] data_o; + reg [width_p - 1:0] data_r; + assign data_o = data_r; + function automatic signed [width_p - 1:0] sv2v_cast_0835B_signed; + input reg signed [width_p - 1:0] inp; + sv2v_cast_0835B_signed = inp; + endfunction + always @(posedge clk_i) + if (reset_i) + data_r <= sv2v_cast_0835B_signed(reset_val_p); + else if (en_i) + data_r <= data_i; +endmodule +module bsg_dff_reset_en_bypass ( + clk_i, + reset_i, + en_i, + data_i, + data_o +); + parameter width_p = 0; + parameter reset_val_p = 0; + parameter harden_p = 0; + input clk_i; + input reset_i; + input en_i; + input [width_p - 1:0] data_i; + output wire [width_p - 1:0] data_o; + wire [width_p - 1:0] data_r; + bsg_dff_reset_en #( + .width_p(width_p), + .reset_val_p(reset_val_p), + .harden_p(harden_p) + ) dff( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(en_i), + .data_i(data_i), + .data_o(data_r) + ); + assign data_o = (en_i ? data_i : data_r); +endmodule +module bsg_dff_reset_set_clear ( + clk_i, + reset_i, + set_i, + clear_i, + data_o +); + parameter width_p = 0; + parameter clear_over_set_p = 0; + input clk_i; + input reset_i; + input [width_p - 1:0] set_i; + input [width_p - 1:0] clear_i; + output wire [width_p - 1:0] data_o; + reg [width_p - 1:0] data_r; + always @(posedge clk_i) + if (reset_i) + data_r <= 1'sb0; + else if (clear_over_set_p) + data_r <= (data_r | set_i) & ~clear_i; + else + data_r <= (data_r & ~clear_i) | set_i; + assign data_o = data_r; +endmodule +module bsg_dlatch ( + clk_i, + data_i, + data_o +); + reg _sv2v_0; + parameter width_p = 0; + parameter i_know_this_is_a_bad_idea_p = 0; + input clk_i; + input [width_p - 1:0] data_i; + output wire [width_p - 1:0] data_o; + generate + if (i_know_this_is_a_bad_idea_p == 0) begin : genblk1 + initial begin + $display("Fatal [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/external/basejump_stl/bsg_misc/bsg_dlatch.sv:12:5 - bsg_dlatch.genblk1\n msg: ", "Error: you must admit this is a bad idea before you are allowed to use the bsg_dlatch module!"); + $finish(1); + end + end + endgenerate + reg [width_p - 1:0] data_r; + always @(*) begin + if (_sv2v_0) + ; + if (clk_i) + data_r <= data_i; + end + assign data_o = data_r; + initial _sv2v_0 = 0; +endmodule +module bsg_encode_one_hot ( + i, + addr_o, + v_o +); + parameter width_p = 8; + parameter lo_to_hi_p = 1; + parameter debug_p = 0; + input [width_p - 1:0] i; + output wire [((width_p == 1) || (width_p == 0) ? 1 : $clog2(width_p)) - 1:0] addr_o; + output wire v_o; + localparam levels_lp = $clog2(width_p); + localparam aligned_width_lp = 1 << $clog2(width_p); + genvar _gv_level_1; + genvar _gv_segment_1; + wire [(levels_lp >= 0 ? ((levels_lp + 1) * aligned_width_lp) - 1 : ((1 - levels_lp) * aligned_width_lp) + ((levels_lp * aligned_width_lp) - 1)):(levels_lp >= 0 ? 0 : levels_lp * aligned_width_lp)] addr; + wire [(levels_lp >= 0 ? ((levels_lp + 1) * aligned_width_lp) - 1 : ((1 - levels_lp) * aligned_width_lp) + ((levels_lp * aligned_width_lp) - 1)):(levels_lp >= 0 ? 0 : levels_lp * aligned_width_lp)] v; + function automatic [aligned_width_lp - 1:0] sv2v_cast_F2063; + input reg [aligned_width_lp - 1:0] inp; + sv2v_cast_F2063 = inp; + endfunction + assign v[(levels_lp >= 0 ? 0 : levels_lp) * aligned_width_lp+:aligned_width_lp] = (lo_to_hi_p ? sv2v_cast_F2063(i) : i << (aligned_width_lp - width_p)); + assign addr[(levels_lp >= 0 ? 0 : levels_lp) * aligned_width_lp+:aligned_width_lp] = (width_p == 1 ? {aligned_width_lp * 1 {1'sb0}} : {aligned_width_lp * 1 {1'sbx}}); + generate + for (_gv_level_1 = 1; _gv_level_1 < (levels_lp + 1); _gv_level_1 = _gv_level_1 + 1) begin : rof + localparam level = _gv_level_1; + localparam segments_lp = 2 ** (levels_lp - level); + localparam segment_slot_lp = aligned_width_lp / segments_lp; + localparam segment_width_lp = level; + for (_gv_segment_1 = 0; _gv_segment_1 < segments_lp; _gv_segment_1 = _gv_segment_1 + 1) begin : rof1 + localparam segment = _gv_segment_1; + wire [1:0] vs = {v[((levels_lp >= 0 ? level - 1 : levels_lp - (level - 1)) * aligned_width_lp) + ((segment * segment_slot_lp) + (segment_slot_lp >> 1))], v[((levels_lp >= 0 ? level - 1 : levels_lp - (level - 1)) * aligned_width_lp) + (segment * segment_slot_lp)]}; + assign v[((levels_lp >= 0 ? level : levels_lp - level) * aligned_width_lp) + (segment * segment_slot_lp)] = |vs; + if (level == 1) begin : genblk1 + assign addr[((levels_lp >= 0 ? level : levels_lp - level) * aligned_width_lp) + (segment * segment_slot_lp)+:segment_width_lp] = {vs[lo_to_hi_p]}; + end + else begin : fi + assign addr[((levels_lp >= 0 ? level : levels_lp - level) * aligned_width_lp) + (segment * segment_slot_lp)+:segment_width_lp] = {vs[lo_to_hi_p], addr[((levels_lp >= 0 ? level - 1 : levels_lp - (level - 1)) * aligned_width_lp) + (segment * segment_slot_lp)+:segment_width_lp - 1] | addr[((levels_lp >= 0 ? level - 1 : levels_lp - (level - 1)) * aligned_width_lp) + ((segment * segment_slot_lp) + (segment_slot_lp >> 1))+:segment_width_lp - 1]}; + end + end + end + endgenerate + assign v_o = v[(levels_lp >= 0 ? levels_lp : levels_lp - levels_lp) * aligned_width_lp]; + assign addr_o = (((i - 1) & i) == {((width_p >= 32 ? width_p : 32) >= width_p ? (width_p >= 32 ? width_p : 32) : width_p) {1'sb0}} ? addr[((levels_lp >= 0 ? levels_lp : levels_lp - levels_lp) * aligned_width_lp) + (((width_p == 1) || (width_p == 0) ? 1 : $clog2(width_p)) - 1)-:((width_p == 1) || (width_p == 0) ? 1 : $clog2(width_p))] : {((width_p == 1) || (width_p == 0) ? 1 : $clog2(width_p)) {1'bx}}); + generate + if (debug_p) begin : genblk2 + always @(addr_o or v_o) begin + #(1) begin : sv2v_autoblock_1 + integer k; + for (k = 0; k <= $clog2(width_p); k = k + 1) + $display("%b %b", addr[(levels_lp >= 0 ? k : levels_lp - k) * aligned_width_lp+:aligned_width_lp], v[(levels_lp >= 0 ? k : levels_lp - k) * aligned_width_lp+:aligned_width_lp]); + end + $display("addr_o=%b v_o=%b", addr_o, v_o); + end + end + endgenerate +endmodule +module bsg_expand_bitmask ( + i, + o +); + reg _sv2v_0; + parameter in_width_p = 0; + parameter expand_p = 0; + localparam safe_expand_lp = (expand_p > 1 ? expand_p : 1); + input [in_width_p - 1:0] i; + output reg [(in_width_p * safe_expand_lp) - 1:0] o; + always @(*) begin : sv2v_autoblock_1 + integer k; + if (_sv2v_0) + ; + for (k = 0; k < in_width_p; k = k + 1) + o[safe_expand_lp * k+:safe_expand_lp] = {safe_expand_lp {i[k]}}; + end + initial _sv2v_0 = 0; +endmodule +module bsg_gray_to_binary ( + gray_i, + binary_o +); + parameter width_p = 0; + input [width_p - 1:0] gray_i; + output wire [width_p - 1:0] binary_o; + bsg_scan #( + .width_p(width_p), + .xor_p(1) + ) scan_xor( + .i(gray_i), + .o(binary_o) + ); +endmodule +module bsg_hash_bank ( + i, + bank_o, + index_o +); + parameter banks_p = 0; + parameter width_p = 0; + parameter index_width_lp = $clog2((((2 ** width_p) + banks_p) - 1) / banks_p); + parameter lg_banks_lp = ((banks_p == 1) || (banks_p == 0) ? 1 : $clog2(banks_p)); + parameter debug_lp = 0; + input [width_p - 1:0] i; + output wire [lg_banks_lp - 1:0] bank_o; + output wire [index_width_lp - 1:0] index_o; + genvar _gv_j_4; + generate + if (banks_p == 1) begin : hash1 + assign index_o = i; + assign bank_o = 1'b0; + end + else if (banks_p == 2) begin : hash2 + assign bank_o = i[width_p - 1]; + assign index_o = i[width_p - 2:0]; + end + else if (~banks_p[0]) begin : hashpow2 + assign bank_o[0] = i[width_p - 1]; + bsg_hash_bank #( + .banks_p(banks_p >> 1), + .width_p(width_p - 1) + ) bhb( + .i(i[width_p - 2:0]), + .bank_o(bank_o[lg_banks_lp - 1:1]), + .index_o(index_o) + ); + end + else if ((banks_p & (banks_p + 1)) == 0) begin : hash3 + if ((width_p % lg_banks_lp) != 0) begin : odd + wire _unused; + bsg_hash_bank #( + .banks_p(banks_p), + .width_p(width_p + 1) + ) hf( + .i({i, 1'b0}), + .bank_o(bank_o), + .index_o({index_o, _unused}) + ); + end + else begin : even + localparam frac_width_lp = width_p / lg_banks_lp; + wire [(lg_banks_lp * frac_width_lp) - 1:0] unzippered; + wire [frac_width_lp - 1:0] one_one; + bsg_reduce_segmented #( + .segments_p(frac_width_lp), + .segment_width_p(lg_banks_lp), + .and_p(1'b1) + ) brs( + .i(i), + .o(one_one) + ); + bsg_transpose #( + .width_p(lg_banks_lp), + .els_p(frac_width_lp) + ) unzip( + .i(i), + .o(unzippered) + ); + wire [frac_width_lp - 1:0] one_one_and_scan; + bsg_scan #( + .width_p(frac_width_lp), + .and_p(1) + ) scan( + .i(one_one), + .o(one_one_and_scan) + ); + wire [frac_width_lp - 1:0] not_one_one_and_scan = ~one_one_and_scan; + wire [frac_width_lp - 1:0] shifty; + if (frac_width_lp > 1) begin : genblk1 + assign shifty = {1'b1, one_one_and_scan[frac_width_lp - 1:1]}; + end + else begin : genblk1 + assign shifty = 1'b1; + end + wire [frac_width_lp - 1:0] border = not_one_one_and_scan & shifty; + wire [(lg_banks_lp * frac_width_lp) - 1:0] bits; + for (_gv_j_4 = 1; _gv_j_4 < lg_banks_lp; _gv_j_4 = _gv_j_4 + 1) begin : rof2 + localparam j = _gv_j_4; + assign bits[j * frac_width_lp+:frac_width_lp] = unzippered[j * frac_width_lp+:frac_width_lp] & ~(border | one_one_and_scan); + end + assign bits[0+:frac_width_lp] = one_one_and_scan | ((unzippered[0+:frac_width_lp] & ~one_one_and_scan) & ~border); + wire [width_p - 1:0] transpose_lo; + bsg_transpose #( + .els_p(lg_banks_lp), + .width_p(frac_width_lp) + ) zip( + .i({bits}), + .o(transpose_lo) + ); + assign index_o = transpose_lo[index_width_lp - 1:0]; + for (_gv_j_4 = 0; _gv_j_4 < lg_banks_lp; _gv_j_4 = _gv_j_4 + 1) begin : rof1 + localparam j = _gv_j_4; + assign bank_o[j] = |(border & unzippered[j * frac_width_lp+:frac_width_lp]); + end + end + end + endgenerate +endmodule +module bsg_hash_bank_reverse ( + index_i, + bank_i, + o +); + parameter banks_p = 0; + parameter width_p = 0; + parameter index_width_lp = $clog2((((2 ** width_p) + banks_p) - 1) / banks_p); + parameter lg_banks_lp = ((banks_p == 1) || (banks_p == 0) ? 1 : $clog2(banks_p)); + parameter debug_lp = 0; + input [index_width_lp - 1:0] index_i; + input [lg_banks_lp - 1:0] bank_i; + output wire [width_p - 1:0] o; + function automatic [width_p - 1:0] sv2v_cast_0835B; + input reg [width_p - 1:0] inp; + sv2v_cast_0835B = inp; + endfunction + generate + if (banks_p == 1) begin : hash1 + assign o = index_i; + end + else if (banks_p == 2) begin : hash2 + assign o = {bank_i, index_i}; + end + else if (~banks_p[0]) begin : hashpow2 + assign o[width_p - 1] = bank_i[0]; + bsg_hash_bank_reverse #( + .banks_p(banks_p >> 1), + .width_p(width_p - 1) + ) bhbr( + .index_i(index_i[index_width_lp - 1:0]), + .bank_i(bank_i[lg_banks_lp - 1:1]), + .o(o[width_p - 2:0]) + ); + end + else if ((banks_p & (banks_p + 1)) == 0) begin : hash3 + if (width_p % lg_banks_lp) begin : odd + wire _unused; + bsg_hash_bank_reverse #( + .banks_p(banks_p), + .width_p(width_p + 1) + ) rhf( + .index_i({index_i, 1'b0}), + .bank_i(bank_i), + .o({o[width_p - 1:0], _unused}) + ); + end + else begin : even + localparam frac_width_lp = width_p / lg_banks_lp; + wire [(lg_banks_lp * frac_width_lp) - 1:0] unzippered; + wire [width_p - 1:0] index_i_ext = sv2v_cast_0835B(index_i); + bsg_transpose #( + .width_p(lg_banks_lp), + .els_p(frac_width_lp) + ) unzip( + .i(index_i_ext), + .o(unzippered) + ); + genvar _gv_j_5; + wire [frac_width_lp - 1:0] zero_pair; + bsg_reduce_segmented #( + .segments_p(frac_width_lp), + .segment_width_p(lg_banks_lp), + .nor_p(1) + ) brs( + .i(index_i_ext), + .o(zero_pair) + ); + wire [frac_width_lp - 1:0] zero_pair_or_scan; + bsg_scan #( + .width_p(frac_width_lp), + .or_p(1) + ) scan( + .i(zero_pair), + .o(zero_pair_or_scan) + ); + wire [frac_width_lp - 1:0] first_one; + if (frac_width_lp > 1) begin : genblk1 + assign first_one = zero_pair_or_scan & ~{1'b0, zero_pair_or_scan[frac_width_lp - 1:1]}; + end + else begin : genblk1 + assign first_one = zero_pair_or_scan; + end + wire [(lg_banks_lp * frac_width_lp) - 1:0] bits; + for (_gv_j_5 = 0; _gv_j_5 < lg_banks_lp; _gv_j_5 = _gv_j_5 + 1) begin : rof2 + localparam j = _gv_j_5; + assign bits[j * frac_width_lp+:frac_width_lp] = (((zero_pair_or_scan & ~first_one) & unzippered[j * frac_width_lp+:frac_width_lp]) | (first_one & {frac_width_lp {bank_i[j]}})) | ~zero_pair_or_scan; + end + wire [width_p - 1:0] transpose_lo; + bsg_transpose #( + .els_p(lg_banks_lp), + .width_p(frac_width_lp) + ) zip( + .i({bits}), + .o(transpose_lo) + ); + assign o = transpose_lo[width_p - 1:0]; + end + end + endgenerate +endmodule +module bsg_imul_iterative ( + clk_i, + reset_i, + v_i, + ready_and_o, + opA_i, + signed_opA_i, + opB_i, + signed_opB_i, + gets_high_part_i, + v_o, + result_o, + yumi_i +); + reg _sv2v_0; + parameter width_p = 32; + input clk_i; + input reset_i; + input v_i; + output wire ready_and_o; + input [width_p - 1:0] opA_i; + input signed_opA_i; + input [width_p - 1:0] opB_i; + input signed_opB_i; + input gets_high_part_i; + output wire v_o; + output wire [width_p - 1:0] result_o; + input yumi_i; + localparam lg_width_lp = (((width_p + 1) == 1) || ((width_p + 1) == 0) ? 1 : $clog2(width_p + 1)); + reg [lg_width_lp - 1:0] shift_counter_r; + reg gets_high_part_r; + wire shift_counter_full = (gets_high_part_r ? shift_counter_r == (width_p - 1) : shift_counter_r == width_p); + reg [2:0] curr_state_r; + reg [2:0] next_state; + always @(posedge clk_i) + if (reset_i) + curr_state_r <= 3'd0; + else + curr_state_r <= next_state; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + case (curr_state_r) + 3'd0: + if (v_i) + next_state = 3'd1; + else + next_state = 3'd0; + 3'd1: next_state = 3'd2; + 3'd2: next_state = 3'd3; + 3'd3: + if (!shift_counter_full) + next_state = 3'd3; + else + next_state = 3'd4; + 3'd4: next_state = 3'd5; + 3'd5: + if (yumi_i) + next_state = 3'd0; + else + next_state = 3'd5; + default: next_state = 3'd0; + endcase + end + always @(posedge clk_i) + if (reset_i) + shift_counter_r <= 'b0; + else if ((curr_state_r != 3'd3) && (next_state == 3'd3)) + shift_counter_r <= 'b0; + else if (curr_state_r == 3'd3) + shift_counter_r <= shift_counter_r + 1; + reg [width_p - 1:0] opA_r; + reg [width_p - 1:0] opB_r; + reg [width_p - 1:0] result_r; + wire [width_p - 1:0] adder_a; + wire [width_p - 1:0] adder_b; + wire [width_p:0] adder_result; + wire [width_p:0] shifted_adder_result; + assign adder_a = (curr_state_r == 3'd1 ? ~opA_r : (curr_state_r == 3'd2 ? ~opB_r : (curr_state_r == 3'd4 ? ~result_r : result_r))); + wire adder_neg_op = ((curr_state_r == 3'd1) || (curr_state_r == 3'd2)) || (curr_state_r == 3'd4); + assign adder_b = (adder_neg_op ? {{width_p - 1 {1'b0}}, 1'b1} : opA_r); + assign adder_result = {1'b0, adder_a} + {1'b0, adder_b}; + assign shifted_adder_result = adder_result >> 1; + wire latch_input = v_i & ready_and_o; + reg signed_opA_r; + reg signed_opB_r; + reg need_neg_result_r; + wire signed_opA = signed_opA_i & opA_i[width_p - 1]; + wire signed_opB = signed_opB_i & opB_i[width_p - 1]; + always @(posedge clk_i) + if (reset_i) + signed_opA_r <= 1'b0; + else if (latch_input) + signed_opA_r <= signed_opA; + always @(posedge clk_i) + if (reset_i) + signed_opB_r <= 1'b0; + else if (latch_input) + signed_opB_r <= signed_opB; + always @(posedge clk_i) + if (reset_i) + need_neg_result_r <= 1'b0; + else if (latch_input) + need_neg_result_r <= signed_opA ^ signed_opB; + always @(posedge clk_i) + if (reset_i) + gets_high_part_r <= 1'b0; + else if (latch_input) + gets_high_part_r <= gets_high_part_i; + always @(posedge clk_i) + if (reset_i) + opA_r <= 'b0; + else if (latch_input) + opA_r <= opA_i; + else if ((curr_state_r == 3'd3) && !gets_high_part_r) + opA_r <= opA_r << 1; + else if ((curr_state_r == 3'd1) && signed_opA_r) + opA_r <= adder_result[width_p - 1:0]; + always @(posedge clk_i) + if (reset_i) + opB_r <= 'b0; + else if (latch_input) + opB_r <= opB_i; + else if (curr_state_r == 3'd3) + opB_r <= opB_r >> 1; + else if ((curr_state_r == 3'd2) && signed_opB_r) + opB_r <= adder_result[width_p - 1:0]; + wire shifted_lsb = (opB_r[0] ? adder_result[0] : result_r[0]); + reg all_sh_lsb_zero_r; + always @(posedge clk_i) + if (reset_i) + all_sh_lsb_zero_r <= 1'b0; + else if (latch_input) + all_sh_lsb_zero_r <= 1'b1; + else if (curr_state_r == 3'd3) + all_sh_lsb_zero_r <= all_sh_lsb_zero_r & ~shifted_lsb; + always @(posedge clk_i) + if (reset_i) + result_r <= 'b0; + else if (latch_input) + result_r <= 'b0; + else if ((curr_state_r == 3'd4) && need_neg_result_r) begin + if (gets_high_part_r && !all_sh_lsb_zero_r) + result_r <= ~result_r; + else + result_r <= adder_result[width_p - 1:0]; + end + else if ((curr_state_r == 3'd3) && opB_r[0]) begin + if (gets_high_part_r) + result_r <= shifted_adder_result[width_p - 1:0]; + else + result_r <= adder_result[width_p - 1:0]; + end + else if ((curr_state_r == 3'd3) && !opB_r[0]) begin + if (gets_high_part_r) + result_r <= result_r >> 1; + end + assign ready_and_o = curr_state_r == 3'd0; + assign result_o = result_r; + assign v_o = curr_state_r == 3'd5; + initial _sv2v_0 = 0; +endmodule +module bsg_idiv_iterative ( + clk_i, + reset_i, + v_i, + ready_and_o, + dividend_i, + divisor_i, + signed_div_i, + v_o, + quotient_o, + remainder_o, + yumi_i +); + parameter width_p = 32; + parameter bitstack_p = 0; + parameter bits_per_iter_p = 1; + input clk_i; + input reset_i; + input v_i; + output wire ready_and_o; + input [width_p - 1:0] dividend_i; + input [width_p - 1:0] divisor_i; + input signed_div_i; + output wire v_o; + output wire [width_p - 1:0] quotient_o; + output wire [width_p - 1:0] remainder_o; + input yumi_i; + wire [width_p:0] opA_r; + assign remainder_o = opA_r[width_p - 1:0]; + wire [width_p:0] opC_r; + assign quotient_o = opC_r[width_p - 1:0]; + wire signed_div_r; + wire divisor_msb = signed_div_i & divisor_i[width_p - 1]; + wire dividend_msb = signed_div_i & dividend_i[width_p - 1]; + wire latch_signed_div_lo; + bsg_dff_en #(.width_p(1)) req_reg( + .data_i(signed_div_i), + .data_o(signed_div_r), + .en_i(latch_signed_div_lo), + .clk_i(clk_i) + ); + wire zero_divisor_li = ~(|opA_r); + wire [1:0] opA_sel_lo; + wire [width_p:0] opA_mux; + wire [width_p:0] add1_out; + wire [width_p:0] add2_out; + bsg_mux_one_hot #( + .width_p(width_p + 1), + .els_p(2) + ) muxA( + .data_i({divisor_msb, divisor_i, add1_out}), + .data_o(opA_mux), + .sel_one_hot_i(opA_sel_lo) + ); + wire [width_p:0] opB_mux; + wire [width_p:0] opC_mux; + wire [bits_per_iter_p + 1:0] opB_sel_lo; + wire [bits_per_iter_p + 1:0] opC_sel_lo; + generate + if (bits_per_iter_p == 2) begin : genblk1 + bsg_mux_one_hot #( + .width_p(width_p + 1), + .els_p(4) + ) muxB( + .data_i({opC_r, add1_out, add1_out[width_p - 1:0], opC_r[width_p], add2_out[width_p - 1:0], opC_r[width_p - 1]}), + .data_o(opB_mux), + .sel_one_hot_i(opB_sel_lo) + ); + bsg_mux_one_hot #( + .width_p(width_p + 1), + .els_p(4) + ) muxC( + .data_i({dividend_msb, dividend_i, add1_out, opC_r[width_p - 1:0], ~add1_out[width_p], opC_r[width_p - 2:0], ~add1_out[width_p], ~add2_out[width_p]}), + .data_o(opC_mux), + .sel_one_hot_i(opC_sel_lo) + ); + end + else begin : genblk1 + bsg_mux_one_hot #( + .width_p(width_p + 1), + .els_p(3) + ) muxB( + .data_i({opC_r, add1_out, add1_out[width_p - 1:0], opC_r[width_p]}), + .data_o(opB_mux), + .sel_one_hot_i(opB_sel_lo) + ); + bsg_mux_one_hot #( + .width_p(width_p + 1), + .els_p(3) + ) muxC( + .data_i({dividend_msb, dividend_i, add1_out, opC_r[width_p - 1:0], ~add1_out[width_p]}), + .data_o(opC_mux), + .sel_one_hot_i(opC_sel_lo) + ); + end + endgenerate + wire opA_ld_lo; + bsg_dff_en #(.width_p(width_p + 1)) opA_reg( + .data_i(opA_mux), + .data_o(opA_r), + .en_i(opA_ld_lo), + .clk_i(clk_i) + ); + wire opB_ld_lo; + wire [width_p:0] opB_r; + bsg_dff_en #(.width_p(width_p + 1)) opB_reg( + .data_i(opB_mux), + .data_o(opB_r), + .en_i(opB_ld_lo), + .clk_i(clk_i) + ); + wire opC_ld_lo; + bsg_dff_en #(.width_p(width_p + 1)) opC_reg( + .data_i(opC_mux), + .data_o(opC_r), + .en_i(opC_ld_lo), + .clk_i(clk_i) + ); + wire opA_inv_lo; + wire opB_inv_lo; + wire opA_clr_lo; + wire opB_clr_lo; + wire [width_p:0] add1_in0; + wire [width_p:0] add1_in1; + wire [width_p:0] add2_in0; + wire [width_p:0] add2_in1; + generate + if (bitstack_p) begin : bs + wire [width_p:0] opA_xnor; + bsg_xnor #(.width_p(width_p + 1)) xnor_opA( + .a_i({width_p + 1 {opA_inv_lo}}), + .b_i(opA_r), + .o(opA_xnor) + ); + wire [width_p:0] opB_xnor; + bsg_xnor #(.width_p(width_p + 1)) xnor_opB( + .a_i({width_p + 1 {opB_inv_lo}}), + .b_i(opB_r), + .o(opB_xnor) + ); + bsg_nor2 #(.width_p(width_p + 1)) nor_opA( + .a_i(opA_xnor), + .b_i({width_p + 1 {~opA_clr_lo}}), + .o(add1_in0) + ); + bsg_nor2 #(.width_p(width_p + 1)) nor_opB( + .a_i(opB_xnor), + .b_i({width_p + 1 {~opB_clr_lo}}), + .o(add1_in1) + ); + if (bits_per_iter_p == 2) begin : genblk1 + bsg_xor #(.width_p(width_p + 1)) xor_add1( + .a_i({width_p + 1 {~add1_out[width_p]}}), + .b_i(opA_r), + .o(add2_in0) + ); + assign add2_in1 = {add1_out[width_p - 1:0], opC_r[width_p]}; + end + end + else begin : nbs + assign add1_in0 = (opA_r ^ {width_p + 1 {opA_inv_lo}}) & {width_p + 1 {opA_clr_lo}}; + assign add1_in1 = (opB_r ^ {width_p + 1 {opB_inv_lo}}) & {width_p + 1 {opB_clr_lo}}; + if (bits_per_iter_p == 2) begin : genblk1 + assign add2_in0 = opA_r ^ {width_p + 1 {~add1_out[width_p]}}; + assign add2_in1 = {add1_out[width_p - 1:0], opC_r[width_p]}; + end + end + endgenerate + wire adder1_cin_lo; + bsg_adder_cin #(.width_p(width_p + 1)) adder1( + .a_i(add1_in0), + .b_i(add1_in1), + .cin_i(adder1_cin_lo), + .o(add1_out) + ); + generate + if (bits_per_iter_p == 2) begin : genblk3 + wire adder2_cin = ~add1_out[width_p]; + bsg_adder_cin #(.width_p(width_p + 1)) adder2( + .a_i(add2_in0), + .b_i(add2_in1), + .cin_i(adder2_cin), + .o(add2_out) + ); + end + else begin : genblk3 + assign add2_out = 1'sb0; + end + endgenerate + bsg_idiv_iterative_controller #( + .width_p(width_p), + .bits_per_iter_p(bits_per_iter_p) + ) control( + .reset_i(reset_i), + .clk_i(clk_i), + .v_i(v_i), + .ready_and_o(ready_and_o), + .zero_divisor_i(zero_divisor_li), + .signed_div_r_i(signed_div_r), + .adder1_result_is_neg_i(add1_out[width_p]), + .adder2_result_is_neg_i(add2_out[width_p]), + .opA_is_neg_i(opA_r[width_p]), + .opC_is_neg_i(opC_r[width_p]), + .opA_sel_o(opA_sel_lo), + .opA_ld_o(opA_ld_lo), + .opA_inv_o(opA_inv_lo), + .opA_clr_l_o(opA_clr_lo), + .opB_sel_o(opB_sel_lo), + .opB_ld_o(opB_ld_lo), + .opB_inv_o(opB_inv_lo), + .opB_clr_l_o(opB_clr_lo), + .opC_sel_o(opC_sel_lo), + .opC_ld_o(opC_ld_lo), + .latch_signed_div_o(latch_signed_div_lo), + .adder1_cin_o(adder1_cin_lo), + .v_o(v_o), + .yumi_i(yumi_i) + ); +endmodule +module bsg_idiv_iterative_controller ( + clk_i, + reset_i, + v_i, + ready_and_o, + zero_divisor_i, + signed_div_r_i, + adder1_result_is_neg_i, + adder2_result_is_neg_i, + opA_is_neg_i, + opC_is_neg_i, + opA_sel_o, + opA_ld_o, + opA_inv_o, + opA_clr_l_o, + opB_sel_o, + opB_ld_o, + opB_inv_o, + opB_clr_l_o, + opC_sel_o, + opC_ld_o, + latch_signed_div_o, + adder1_cin_o, + v_o, + yumi_i +); + reg _sv2v_0; + parameter width_p = 32; + parameter bits_per_iter_p = 1; + input clk_i; + input reset_i; + input v_i; + output wire ready_and_o; + input zero_divisor_i; + input signed_div_r_i; + input adder1_result_is_neg_i; + input adder2_result_is_neg_i; + input opA_is_neg_i; + input opC_is_neg_i; + output reg [1:0] opA_sel_o; + output reg opA_ld_o; + output reg opA_inv_o; + output reg opA_clr_l_o; + output reg [bits_per_iter_p + 1:0] opB_sel_o; + output reg opB_ld_o; + output reg opB_inv_o; + output reg opB_clr_l_o; + output reg [bits_per_iter_p + 1:0] opC_sel_o; + output reg opC_ld_o; + output reg latch_signed_div_o; + output reg adder1_cin_o; + output wire v_o; + input yumi_i; + reg q_neg_r; + reg r_neg_r; + reg neg_ld; + reg add1_neg_last_r; + reg add2_neg_last_r; + reg [5:0] state; + reg [5:0] next_state; + always @(posedge clk_i) begin + add1_neg_last_r <= adder1_result_is_neg_i; + add2_neg_last_r <= adder2_result_is_neg_i; + if (neg_ld) begin + q_neg_r <= (opA_is_neg_i ^ opC_is_neg_i) & signed_div_r_i; + r_neg_r <= opC_is_neg_i & signed_div_r_i; + end + end + wire [$clog2({1'b0, width_p / bits_per_iter_p} + 1) - 1:0] calc_cnt; + wire calc_up_li = (state == 6'd4) && (calc_cnt < (width_p / bits_per_iter_p)); + wire calc_done = calc_cnt == (width_p / bits_per_iter_p); + bsg_counter_clear_up #( + .max_val_p(width_p / bits_per_iter_p), + .init_val_p(0), + .disable_overflow_warning_p(1) + ) calc_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(calc_done), + .up_i(calc_up_li), + .count_o(calc_cnt) + ); + always @(posedge clk_i) + if (reset_i) + state <= 6'd0; + else + state <= next_state; + always @(*) begin + if (_sv2v_0) + ; + opA_sel_o = 2'b00; + opA_ld_o = 1'b0; + if (bits_per_iter_p == 2) + opA_inv_o = !add2_neg_last_r; + else + opA_inv_o = !add1_neg_last_r; + opA_clr_l_o = 1'b1; + if (bits_per_iter_p == 2) + opB_sel_o = 4'b0001; + else + opB_sel_o = 3'b001; + opB_ld_o = 1'b0; + opB_inv_o = 1'b0; + opB_clr_l_o = 1'b1; + opC_sel_o = 3'b001; + opC_ld_o = 1'b0; + if (bits_per_iter_p == 2) + adder1_cin_o = !add2_neg_last_r; + else + adder1_cin_o = !add1_neg_last_r; + neg_ld = 1'b0; + latch_signed_div_o = 1'b0; + next_state = 6'd0; + case (state) + 6'd0: + if (v_i) begin + opA_ld_o = 1'b1; + opC_ld_o = 1'b1; + latch_signed_div_o = 1'b1; + next_state = 6'd1; + opA_sel_o = 2'b10; + if (bits_per_iter_p == 2) + opC_sel_o = 4'b1000; + else + opC_sel_o = 3'b100; + end + 6'd1: begin + next_state = (opC_is_neg_i & signed_div_r_i ? 6'd2 : 6'd3); + opA_sel_o = 2'b01; + opA_inv_o = 1'b1; + opB_clr_l_o = 1'b0; + opB_ld_o = 1'b1; + opC_ld_o = 1'b0; + neg_ld = 1'b1; + adder1_cin_o = 1'b1; + opA_ld_o = opA_is_neg_i & signed_div_r_i; + if (bits_per_iter_p == 2) + opB_sel_o = 4'b1000; + else + opB_sel_o = 3'b100; + end + 6'd2: begin + next_state = 6'd3; + opA_clr_l_o = 1'b0; + opB_inv_o = 1'b1; + opB_ld_o = 1'b0; + opC_ld_o = 1'b1; + adder1_cin_o = 1'b1; + if (bits_per_iter_p == 2) + opC_sel_o = 4'b0100; + else + opC_sel_o = 3'b010; + end + 6'd3: begin + next_state = 6'd4; + opB_ld_o = 1'b1; + opC_ld_o = 1'b1; + opA_clr_l_o = 1'b0; + opB_clr_l_o = 1'b0; + adder1_cin_o = 1'b0; + if (bits_per_iter_p == 2) begin + opC_sel_o = 4'b0010; + opB_sel_o = 4'b0010; + end + else begin + opC_sel_o = 3'b001; + opB_sel_o = 3'b001; + end + end + 6'd4: begin + opB_ld_o = 1'b1; + opC_ld_o = 1'b1; + if (bits_per_iter_p == 2) begin + opB_sel_o = (calc_done ? 4'b0100 : 4'b0001); + opC_sel_o = (calc_done ? 4'b0010 : 4'b0001); + if (calc_cnt == 0) begin + opA_inv_o = !add1_neg_last_r; + adder1_cin_o = !add1_neg_last_r; + end + end + else + opB_sel_o = (calc_done ? 3'b010 : 3'b001); + if (calc_done) begin + if (adder1_result_is_neg_i) + next_state = 6'd5; + else + next_state = 6'd6; + end + else + next_state = 6'd4; + end + 6'd5: begin + next_state = 6'd6; + opA_inv_o = 1'b0; + opB_ld_o = 1'b1; + opC_ld_o = 1'b0; + adder1_cin_o = 1'b0; + if (bits_per_iter_p == 2) + opB_sel_o = 4'b0100; + else + opB_sel_o = 3'b010; + end + 6'd6: begin + next_state = (zero_divisor_i | !q_neg_r ? 6'd8 : 6'd7); + opA_sel_o = 2'b01; + opA_ld_o = 1'b1; + opA_clr_l_o = 1'b0; + opB_ld_o = 1'b1; + opC_ld_o = 1'b0; + opB_inv_o = r_neg_r; + adder1_cin_o = r_neg_r; + if (bits_per_iter_p == 2) + opB_sel_o = 4'b1000; + else + opB_sel_o = 3'b100; + end + 6'd7: begin + next_state = 6'd8; + opA_clr_l_o = 1'b0; + opB_inv_o = 1'b1; + opB_ld_o = 1'b0; + opC_ld_o = 1'b1; + adder1_cin_o = 1'b1; + if (bits_per_iter_p == 2) + opC_sel_o = 4'b0100; + else + opC_sel_o = 3'b010; + end + 6'd8: begin + if (yumi_i) + next_state = 6'd0; + else + next_state = 6'd8; + opA_ld_o = 1'b0; + opB_ld_o = 1'b0; + opC_ld_o = 1'b0; + end + endcase + end + assign ready_and_o = state == 6'd0; + assign v_o = state == 6'd8; + initial _sv2v_0 = 0; +endmodule +module bsg_lru_pseudo_tree_backup ( + disabled_ways_i, + modify_mask_o, + modify_data_o +); + parameter ways_p = 0; + parameter lg_ways_lp = ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)); + input [ways_p - 1:0] disabled_ways_i; + output wire [(ways_p < 2 ? 0 : ways_p - 2):0] modify_mask_o; + output wire [(ways_p < 2 ? 0 : ways_p - 2):0] modify_data_o; + generate + if (ways_p == 1) begin : no_lru + assign modify_mask_o = 1'b1; + assign modify_data_o = 1'b0; + end + else begin : lru + genvar _gv_i_28; + for (_gv_i_28 = 0; _gv_i_28 < lg_ways_lp; _gv_i_28 = _gv_i_28 + 1) begin : genblk1 + localparam i = _gv_i_28; + wire [(2 ** (i + 1)) - 1:0] and_reduce; + genvar _gv_j_6; + for (_gv_j_6 = 0; _gv_j_6 < (2 ** (i + 1)); _gv_j_6 = _gv_j_6 + 1) begin : genblk1 + localparam j = _gv_j_6; + assign and_reduce[j] = &disabled_ways_i[(ways_p / (2 ** (i + 1))) * j+:ways_p / (2 ** (i + 1))]; + end + genvar _gv_k_1; + for (_gv_k_1 = 0; _gv_k_1 < ((2 ** (i + 1)) / 2); _gv_k_1 = _gv_k_1 + 1) begin : genblk2 + localparam k = _gv_k_1; + assign modify_data_o[((2 ** i) - 1) + k] = and_reduce[2 * k]; + assign modify_mask_o[((2 ** i) - 1) + k] = |and_reduce[2 * k+:2]; + end + end + end + endgenerate +endmodule +module bsg_lru_pseudo_tree_decode ( + way_id_i, + data_o, + mask_o +); + parameter ways_p = 0; + localparam lg_ways_lp = ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)); + input [lg_ways_lp - 1:0] way_id_i; + output wire [(ways_p < 2 ? 0 : ways_p - 2):0] data_o; + output wire [(ways_p < 2 ? 0 : ways_p - 2):0] mask_o; + genvar _gv_i_29; + generate + if (ways_p == 1) begin : no_lru + assign mask_o[0] = 1'b1; + assign data_o[0] = 1'b0; + end + else begin : lru + for (_gv_i_29 = 0; _gv_i_29 < (ways_p - 1); _gv_i_29 = _gv_i_29 + 1) begin : rof + localparam i = _gv_i_29; + if (i == 0) begin : fi + assign mask_o[i] = 1'b1; + end + else if ((i % 2) == 1) begin : fi + assign mask_o[i] = mask_o[(i - 1) / 2] & ~way_id_i[(lg_ways_lp - (((i + 2) == 1) || ((i + 2) == 0) ? 1 : $clog2(i + 2))) + 1]; + end + else begin : fi + assign mask_o[i] = mask_o[(i - 2) / 2] & way_id_i[(lg_ways_lp - (((i + 2) == 1) || ((i + 2) == 0) ? 1 : $clog2(i + 2))) + 1]; + end + assign data_o[i] = mask_o[i] & ~way_id_i[lg_ways_lp - (((i + 2) == 1) || ((i + 2) == 0) ? 1 : $clog2(i + 2))]; + end + end + endgenerate +endmodule +module bsg_lru_pseudo_tree_encode ( + lru_i, + way_id_o +); + parameter ways_p = 0; + parameter lg_ways_lp = ((ways_p == 1) || (ways_p == 0) ? 1 : $clog2(ways_p)); + input [(ways_p < 2 ? 0 : ways_p - 2):0] lru_i; + output wire [lg_ways_lp - 1:0] way_id_o; + generate + if (ways_p == 1) begin : no_lru + assign way_id_o = 1'b0; + end + else begin : lru + genvar _gv_i_30; + for (_gv_i_30 = 0; _gv_i_30 < lg_ways_lp; _gv_i_30 = _gv_i_30 + 1) begin : rank + localparam i = _gv_i_30; + if (i == 0) begin : z + assign way_id_o[lg_ways_lp - 1] = lru_i[0]; + end + else begin : nz + bsg_mux #( + .width_p(1), + .els_p(2 ** i) + ) mux( + .data_i(lru_i[(2 ** i) - 1+:2 ** i]), + .sel_i(way_id_o[lg_ways_lp - 1-:i]), + .data_o(way_id_o[(lg_ways_lp - 1) - i]) + ); + end + end + end + endgenerate +endmodule +module bsg_mul_add_unsigned ( + clk_i, + a_i, + b_i, + c_i, + o +); + parameter width_a_p = 0; + parameter width_b_p = 0; + parameter width_c_p = width_a_p + width_b_p; + parameter width_o_p = (((((((1 << width_a_p) - 1) * ((1 << width_b_p) - 1)) + ((1 << width_c_p) - 1)) + 1) == 1) || ((((((1 << width_a_p) - 1) * ((1 << width_b_p) - 1)) + ((1 << width_c_p) - 1)) + 1) == 0) ? 1 : $clog2(((((1 << width_a_p) - 1) * ((1 << width_b_p) - 1)) + ((1 << width_c_p) - 1)) + 1)); + parameter pipeline_p = 0; + input clk_i; + input [width_a_p - 1:0] a_i; + input [width_b_p - 1:0] b_i; + input [width_c_p - 1:0] c_i; + output wire [width_o_p - 1:0] o; + localparam pre_pipeline_lp = 0; + localparam post_pipeline_lp = pipeline_p; + wire [width_a_p - 1:0] a_r; + wire [width_b_p - 1:0] b_r; + wire [width_c_p - 1:0] c_r; + bsg_dff_chain #( + .width_p((width_a_p + width_b_p) + width_c_p), + .num_stages_p(pre_pipeline_lp) + ) pre_mul_add( + .clk_i(clk_i), + .data_i({a_i, b_i, c_i}), + .data_o({a_r, b_r, c_r}) + ); + wire [width_o_p - 1:0] o_r = (a_r * b_r) + c_r; + bsg_dff_chain #( + .width_p(width_o_p), + .num_stages_p(post_pipeline_lp) + ) post_mul_add( + .clk_i(clk_i), + .data_i(o_r), + .data_o(o) + ); +endmodule +module bsg_mux ( + data_i, + sel_i, + data_o +); + parameter width_p = 0; + parameter els_p = 1; + parameter harden_p = 0; + parameter balanced_p = 0; + parameter lg_els_lp = ((els_p == 1) || (els_p == 0) ? 1 : $clog2(els_p)); + input [(els_p * width_p) - 1:0] data_i; + input [lg_els_lp - 1:0] sel_i; + output wire [width_p - 1:0] data_o; + generate + if (els_p == 1) begin : genblk1 + assign data_o = data_i; + wire unused = sel_i; + end + else begin : genblk1 + assign data_o = data_i[sel_i * width_p+:width_p]; + end + endgenerate +endmodule +module bsg_mux_bitwise ( + data0_i, + data1_i, + sel_i, + data_o +); + parameter width_p = 0; + input [width_p - 1:0] data0_i; + input [width_p - 1:0] data1_i; + input [width_p - 1:0] sel_i; + output wire [width_p - 1:0] data_o; + bsg_mux_segmented #( + .segments_p(width_p), + .segment_width_p(1) + ) mux_segmented( + .data0_i(data0_i), + .data1_i(data1_i), + .sel_i(sel_i), + .data_o(data_o) + ); +endmodule +module bsg_mux_one_hot ( + data_i, + sel_one_hot_i, + data_o +); + parameter width_p = 0; + parameter signed [31:0] els_p = 1; + parameter signed [31:0] harden_p = 1; + input [(els_p * width_p) - 1:0] data_i; + input [els_p - 1:0] sel_one_hot_i; + output wire [width_p - 1:0] data_o; + wire [(els_p * width_p) - 1:0] data_masked; + genvar _gv_i_32; + genvar _gv_j_8; + generate + for (_gv_i_32 = 0; _gv_i_32 < els_p; _gv_i_32 = _gv_i_32 + 1) begin : mask + localparam i = _gv_i_32; + assign data_masked[i * width_p+:width_p] = data_i[i * width_p+:width_p] & {width_p {sel_one_hot_i[i]}}; + end + for (_gv_i_32 = 0; _gv_i_32 < width_p; _gv_i_32 = _gv_i_32 + 1) begin : reduce + localparam i = _gv_i_32; + wire [els_p - 1:0] gather; + for (_gv_j_8 = 0; _gv_j_8 < els_p; _gv_j_8 = _gv_j_8 + 1) begin : reduce2 + localparam j = _gv_j_8; + assign gather[j] = data_masked[(j * width_p) + i]; + end + assign data_o[i] = |gather; + end + if (els_p == 0) begin : zero + assign data_o = 1'sb0; + end + endgenerate +endmodule +module bsg_mux_segmented ( + data0_i, + data1_i, + sel_i, + data_o +); + parameter segments_p = 0; + parameter segment_width_p = 0; + parameter data_width_lp = segments_p * segment_width_p; + input [data_width_lp - 1:0] data0_i; + input [data_width_lp - 1:0] data1_i; + input [segments_p - 1:0] sel_i; + output wire [data_width_lp - 1:0] data_o; + genvar _gv_i_33; + generate + for (_gv_i_33 = 0; _gv_i_33 < segments_p; _gv_i_33 = _gv_i_33 + 1) begin : genblk1 + localparam i = _gv_i_33; + assign data_o[i * segment_width_p+:segment_width_p] = (sel_i[i] ? data1_i[i * segment_width_p+:segment_width_p] : data0_i[i * segment_width_p+:segment_width_p]); + end + endgenerate +endmodule +module bsg_muxi2_gatestack ( + i0, + i1, + i2, + o +); + parameter width_p = 0; + parameter harden_p = 1; + input [width_p - 1:0] i0; + input [width_p - 1:0] i1; + input [width_p - 1:0] i2; + output wire [width_p - 1:0] o; + genvar _gv_j_9; + generate + for (_gv_j_9 = 0; _gv_j_9 < width_p; _gv_j_9 = _gv_j_9 + 1) begin : genblk1 + localparam j = _gv_j_9; + assign o[j] = ~(i2[j] ? i1[j] : i0[j]); + end + endgenerate +endmodule +module bsg_nor2 ( + a_i, + b_i, + o +); + parameter width_p = 0; + parameter harden_p = 1; + input [width_p - 1:0] a_i; + input [width_p - 1:0] b_i; + output wire [width_p - 1:0] o; + assign o = ~(a_i | b_i); +endmodule +module bsg_nor3 ( + a_i, + b_i, + c_i, + o +); + parameter width_p = 0; + parameter harden_p = 1; + input [width_p - 1:0] a_i; + input [width_p - 1:0] b_i; + input [width_p - 1:0] c_i; + output wire [width_p - 1:0] o; + assign o = ~((a_i | b_i) | c_i); +endmodule +module bsg_nand ( + a_i, + b_i, + o +); + parameter width_p = 0; + parameter harden_p = 1; + input [width_p - 1:0] a_i; + input [width_p - 1:0] b_i; + output wire [width_p - 1:0] o; + assign o = ~(a_i & b_i); +endmodule +module bsg_popcount ( + i, + o +); + parameter width_p = 0; + input [width_p - 1:0] i; + output wire [$clog2(width_p + 1) - 1:0] o; + localparam first_half_lp = (4 > (width_p - (width_p >> 1)) ? 4 : width_p - (width_p >> 1)); + localparam second_half_lp = width_p - first_half_lp; + generate + if (width_p <= 3) begin : lt3 + assign o[0] = ^i; + if (width_p == 2) begin : genblk1 + assign o[1] = &i; + end + else if (width_p == 3) begin : genblk1 + assign o[1] = (&i[1:0] | &i[2:1]) | (i[0] & i[2]); + end + end + else if (width_p == 4) begin : four + wire [1:0] s0 = {^i[3:2], ^i[1:0]}; + wire [1:0] c0 = {&i[3:2], &i[1:0]}; + assign o[0] = ^s0; + assign o[1] = ^c0 | &s0; + assign o[2] = &c0; + end + else begin : recurse + wire [$clog2(first_half_lp + 1) - 1:0] lo; + wire [$clog2(second_half_lp + 1) - 1:0] hi; + bsg_popcount #(.width_p(first_half_lp)) left( + .i(i[0+:first_half_lp]), + .o(lo) + ); + bsg_popcount #(.width_p(second_half_lp)) right( + .i(i[first_half_lp+:second_half_lp]), + .o(hi) + ); + assign o = lo + hi; + end + endgenerate +endmodule +module bsg_priority_encode ( + i, + addr_o, + v_o +); + parameter width_p = 0; + parameter lo_to_hi_p = 0; + input [width_p - 1:0] i; + output wire [((width_p == 1) || (width_p == 0) ? 1 : $clog2(width_p)) - 1:0] addr_o; + output wire v_o; + wire [width_p - 1:0] enc_lo; + bsg_priority_encode_one_hot_out #( + .width_p(width_p), + .lo_to_hi_p(lo_to_hi_p) + ) a( + .i(i), + .o(enc_lo), + .v_o(v_o) + ); + bsg_encode_one_hot #( + .width_p(width_p), + .lo_to_hi_p(lo_to_hi_p) + ) b( + .i(enc_lo), + .addr_o(addr_o), + .v_o() + ); +endmodule +module bsg_priority_encode_one_hot_out ( + i, + o, + v_o +); + parameter width_p = 0; + parameter lo_to_hi_p = 0; + input [width_p - 1:0] i; + output wire [width_p - 1:0] o; + output wire v_o; + wire [width_p - 1:0] scan_lo; + generate + if (width_p == 1) begin : w1 + assign o = i; + assign v_o = i; + end + else begin : nw1 + bsg_scan #( + .width_p(width_p), + .or_p(1), + .lo_to_hi_p(lo_to_hi_p) + ) scan( + .i(i), + .o(scan_lo) + ); + if (lo_to_hi_p) begin : fi1 + assign o = scan_lo & {~scan_lo[width_p - 2:0], 1'b1}; + assign v_o = scan_lo[width_p - 1]; + end + else begin : fi1 + assign o = scan_lo & {1'b1, ~scan_lo[width_p - 1:1]}; + assign v_o = scan_lo[0]; + end + end + endgenerate +endmodule +module bsg_reduce ( + i, + o +); + parameter width_p = 0; + parameter xor_p = 0; + parameter and_p = 0; + parameter or_p = 0; + parameter harden_p = 0; + input [width_p - 1:0] i; + output wire o; + generate + if (xor_p) begin : genblk1 + assign o = ^i; + end + else if (and_p) begin : genblk1 + assign o = &i; + end + else if (or_p) begin : genblk1 + assign o = |i; + end + endgenerate +endmodule +module bsg_reduce_segmented ( + i, + o +); + parameter segments_p = 0; + parameter segment_width_p = 0; + parameter xor_p = 0; + parameter and_p = 0; + parameter or_p = 0; + parameter nor_p = 0; + input [(segments_p * segment_width_p) - 1:0] i; + output wire [segments_p - 1:0] o; + genvar _gv_j_10; + generate + for (_gv_j_10 = 0; _gv_j_10 < segments_p; _gv_j_10 = _gv_j_10 + 1) begin : rof2 + localparam j = _gv_j_10; + if (xor_p) begin : genblk1 + assign o[j] = ^i[j * segment_width_p+:segment_width_p]; + end + else if (and_p) begin : genblk1 + assign o[j] = &i[j * segment_width_p+:segment_width_p]; + end + else if (or_p) begin : genblk1 + assign o[j] = |i[j * segment_width_p+:segment_width_p]; + end + else if (nor_p) begin : genblk1 + assign o[j] = ~(|i[j * segment_width_p+:segment_width_p]); + end + end + endgenerate +endmodule +module bsg_rotate_left ( + data_i, + rot_i, + o +); + parameter width_p = 0; + input [width_p - 1:0] data_i; + input [((width_p == 1) || (width_p == 0) ? 1 : $clog2(width_p)) - 1:0] rot_i; + output wire [width_p - 1:0] o; + wire [(width_p * 3) - 1:0] temp = {2 {data_i}} << rot_i; + assign o = temp[(width_p * 2) - 1:width_p]; +endmodule +module bsg_rotate_right ( + data_i, + rot_i, + o +); + parameter width_p = 0; + input [width_p - 1:0] data_i; + input [((width_p == 1) || (width_p == 0) ? 1 : $clog2(width_p)) - 1:0] rot_i; + output wire [width_p - 1:0] o; + wire [(width_p * 2) - 1:0] temp = {2 {data_i}} >> rot_i; + assign o = temp[0+:width_p]; +endmodule +module bsg_round_robin_arb ( + clk_i, + reset_i, + grants_en_i, + reqs_i, + grants_o, + sel_one_hot_o, + v_o, + tag_o, + yumi_i +); + reg _sv2v_0; + parameter inputs_p = 0; + parameter lg_inputs_p = ((inputs_p == 1) || (inputs_p == 0) ? 1 : $clog2(inputs_p)); + parameter reset_on_sr_p = 1'b0; + parameter hold_on_sr_p = 1'b0; + parameter hold_on_valid_p = 1'b0; + input clk_i; + input reset_i; + input grants_en_i; + input [inputs_p - 1:0] reqs_i; + output wire [inputs_p - 1:0] grants_o; + output wire [inputs_p - 1:0] sel_one_hot_o; + output wire v_o; + output reg [lg_inputs_p - 1:0] tag_o; + input yumi_i; + wire [lg_inputs_p - 1:0] last; + reg [lg_inputs_p - 1:0] last_n; + reg [lg_inputs_p - 1:0] last_r; + reg hold_on_sr; + wire reset_on_sr; + function automatic signed [lg_inputs_p - 1:0] sv2v_cast_A2820_signed; + input reg signed [lg_inputs_p - 1:0] inp; + sv2v_cast_A2820_signed = inp; + endfunction + generate + if (inputs_p == 1) begin : inputs_1 + reg [0:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 2'bz0: begin + sel_one_hot_n = 1'b0; + tag_o = sv2v_cast_A2820_signed(0); + end + 2'b01: begin + sel_one_hot_n = 1'b1; + tag_o = sv2v_cast_A2820_signed(0); + end + default: begin + sel_one_hot_n = 1'bx; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {grants_en_i}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 1'b0: hold_on_sr = reqs_i == 1'b1; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_1 + assign reset_on_sr = reqs_i == 1'b1; + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 2) begin : inputs_2 + reg [1:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 3'bz00: begin + sel_one_hot_n = 2'b00; + tag_o = sv2v_cast_A2820_signed(0); + end + 3'b01z: begin + sel_one_hot_n = 2'b10; + tag_o = sv2v_cast_A2820_signed(1); + end + 3'b001: begin + sel_one_hot_n = 2'b01; + tag_o = sv2v_cast_A2820_signed(0); + end + 3'b1z1: begin + sel_one_hot_n = 2'b01; + tag_o = sv2v_cast_A2820_signed(0); + end + 3'b110: begin + sel_one_hot_n = 2'b10; + tag_o = sv2v_cast_A2820_signed(1); + end + default: begin + sel_one_hot_n = {2 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {2 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 1'b0: hold_on_sr = reqs_i == 2'b01; + default: hold_on_sr = reqs_i == 2'b10; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_2 + assign reset_on_sr = (reqs_i == 2'b01) | (reqs_i == 2'b10); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 3) begin : inputs_3 + reg [2:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 5'bzz000: begin + sel_one_hot_n = 3'b000; + tag_o = sv2v_cast_A2820_signed(0); + end + 5'b00z1z: begin + sel_one_hot_n = 3'b010; + tag_o = sv2v_cast_A2820_signed(1); + end + 5'b0010z: begin + sel_one_hot_n = 3'b100; + tag_o = sv2v_cast_A2820_signed(2); + end + 5'b00001: begin + sel_one_hot_n = 3'b001; + tag_o = sv2v_cast_A2820_signed(0); + end + 5'b011zz: begin + sel_one_hot_n = 3'b100; + tag_o = sv2v_cast_A2820_signed(2); + end + 5'b010z1: begin + sel_one_hot_n = 3'b001; + tag_o = sv2v_cast_A2820_signed(0); + end + 5'b01010: begin + sel_one_hot_n = 3'b010; + tag_o = sv2v_cast_A2820_signed(1); + end + 5'b10zz1: begin + sel_one_hot_n = 3'b001; + tag_o = sv2v_cast_A2820_signed(0); + end + 5'b10z10: begin + sel_one_hot_n = 3'b010; + tag_o = sv2v_cast_A2820_signed(1); + end + 5'b10100: begin + sel_one_hot_n = 3'b100; + tag_o = sv2v_cast_A2820_signed(2); + end + default: begin + sel_one_hot_n = {3 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {3 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 2'b00: hold_on_sr = reqs_i == 3'b010; + 2'b01: hold_on_sr = reqs_i == 3'b001; + 2'b10: hold_on_sr = reqs_i == 3'b100; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_3 + assign reset_on_sr = ((reqs_i == 3'b010) | (reqs_i == 3'b001)) | (reqs_i == 3'b100); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 4) begin : inputs_4 + reg [3:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 6'bzz0000: begin + sel_one_hot_n = 4'b0000; + tag_o = sv2v_cast_A2820_signed(0); + end + 6'b00zz1z: begin + sel_one_hot_n = 4'b0010; + tag_o = sv2v_cast_A2820_signed(1); + end + 6'b00z10z: begin + sel_one_hot_n = 4'b0100; + tag_o = sv2v_cast_A2820_signed(2); + end + 6'b00100z: begin + sel_one_hot_n = 4'b1000; + tag_o = sv2v_cast_A2820_signed(3); + end + 6'b000001: begin + sel_one_hot_n = 4'b0001; + tag_o = sv2v_cast_A2820_signed(0); + end + 6'b01z1zz: begin + sel_one_hot_n = 4'b0100; + tag_o = sv2v_cast_A2820_signed(2); + end + 6'b0110zz: begin + sel_one_hot_n = 4'b1000; + tag_o = sv2v_cast_A2820_signed(3); + end + 6'b0100z1: begin + sel_one_hot_n = 4'b0001; + tag_o = sv2v_cast_A2820_signed(0); + end + 6'b010010: begin + sel_one_hot_n = 4'b0010; + tag_o = sv2v_cast_A2820_signed(1); + end + 6'b101zzz: begin + sel_one_hot_n = 4'b1000; + tag_o = sv2v_cast_A2820_signed(3); + end + 6'b100zz1: begin + sel_one_hot_n = 4'b0001; + tag_o = sv2v_cast_A2820_signed(0); + end + 6'b100z10: begin + sel_one_hot_n = 4'b0010; + tag_o = sv2v_cast_A2820_signed(1); + end + 6'b100100: begin + sel_one_hot_n = 4'b0100; + tag_o = sv2v_cast_A2820_signed(2); + end + 6'b11zzz1: begin + sel_one_hot_n = 4'b0001; + tag_o = sv2v_cast_A2820_signed(0); + end + 6'b11zz10: begin + sel_one_hot_n = 4'b0010; + tag_o = sv2v_cast_A2820_signed(1); + end + 6'b11z100: begin + sel_one_hot_n = 4'b0100; + tag_o = sv2v_cast_A2820_signed(2); + end + 6'b111000: begin + sel_one_hot_n = 4'b1000; + tag_o = sv2v_cast_A2820_signed(3); + end + default: begin + sel_one_hot_n = {4 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {4 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 2'b00: hold_on_sr = reqs_i == 4'b0100; + 2'b01: hold_on_sr = reqs_i == 4'b0010; + 2'b10: hold_on_sr = reqs_i == 4'b0001; + default: hold_on_sr = reqs_i == 4'b1000; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_4 + assign reset_on_sr = (((reqs_i == 4'b0100) | (reqs_i == 4'b0010)) | (reqs_i == 4'b0001)) | (reqs_i == 4'b1000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 5) begin : inputs_5 + reg [4:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 8'bzzz00000: begin + sel_one_hot_n = 5'b00000; + tag_o = sv2v_cast_A2820_signed(0); + end + 8'b000zzz1z: begin + sel_one_hot_n = 5'b00010; + tag_o = sv2v_cast_A2820_signed(1); + end + 8'b000zz10z: begin + sel_one_hot_n = 5'b00100; + tag_o = sv2v_cast_A2820_signed(2); + end + 8'b000z100z: begin + sel_one_hot_n = 5'b01000; + tag_o = sv2v_cast_A2820_signed(3); + end + 8'b0001000z: begin + sel_one_hot_n = 5'b10000; + tag_o = sv2v_cast_A2820_signed(4); + end + 8'b00000001: begin + sel_one_hot_n = 5'b00001; + tag_o = sv2v_cast_A2820_signed(0); + end + 8'b001zz1zz: begin + sel_one_hot_n = 5'b00100; + tag_o = sv2v_cast_A2820_signed(2); + end + 8'b001z10zz: begin + sel_one_hot_n = 5'b01000; + tag_o = sv2v_cast_A2820_signed(3); + end + 8'b001100zz: begin + sel_one_hot_n = 5'b10000; + tag_o = sv2v_cast_A2820_signed(4); + end + 8'b001000z1: begin + sel_one_hot_n = 5'b00001; + tag_o = sv2v_cast_A2820_signed(0); + end + 8'b00100010: begin + sel_one_hot_n = 5'b00010; + tag_o = sv2v_cast_A2820_signed(1); + end + 8'b010z1zzz: begin + sel_one_hot_n = 5'b01000; + tag_o = sv2v_cast_A2820_signed(3); + end + 8'b01010zzz: begin + sel_one_hot_n = 5'b10000; + tag_o = sv2v_cast_A2820_signed(4); + end + 8'b01000zz1: begin + sel_one_hot_n = 5'b00001; + tag_o = sv2v_cast_A2820_signed(0); + end + 8'b01000z10: begin + sel_one_hot_n = 5'b00010; + tag_o = sv2v_cast_A2820_signed(1); + end + 8'b01000100: begin + sel_one_hot_n = 5'b00100; + tag_o = sv2v_cast_A2820_signed(2); + end + 8'b0111zzzz: begin + sel_one_hot_n = 5'b10000; + tag_o = sv2v_cast_A2820_signed(4); + end + 8'b0110zzz1: begin + sel_one_hot_n = 5'b00001; + tag_o = sv2v_cast_A2820_signed(0); + end + 8'b0110zz10: begin + sel_one_hot_n = 5'b00010; + tag_o = sv2v_cast_A2820_signed(1); + end + 8'b0110z100: begin + sel_one_hot_n = 5'b00100; + tag_o = sv2v_cast_A2820_signed(2); + end + 8'b01101000: begin + sel_one_hot_n = 5'b01000; + tag_o = sv2v_cast_A2820_signed(3); + end + 8'b100zzzz1: begin + sel_one_hot_n = 5'b00001; + tag_o = sv2v_cast_A2820_signed(0); + end + 8'b100zzz10: begin + sel_one_hot_n = 5'b00010; + tag_o = sv2v_cast_A2820_signed(1); + end + 8'b100zz100: begin + sel_one_hot_n = 5'b00100; + tag_o = sv2v_cast_A2820_signed(2); + end + 8'b100z1000: begin + sel_one_hot_n = 5'b01000; + tag_o = sv2v_cast_A2820_signed(3); + end + 8'b10010000: begin + sel_one_hot_n = 5'b10000; + tag_o = sv2v_cast_A2820_signed(4); + end + default: begin + sel_one_hot_n = {5 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {5 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 3'b000: hold_on_sr = reqs_i == 5'b01000; + 3'b001: hold_on_sr = reqs_i == 5'b00100; + 3'b010: hold_on_sr = reqs_i == 5'b00010; + 3'b011: hold_on_sr = reqs_i == 5'b00001; + 3'b100: hold_on_sr = reqs_i == 5'b10000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_5 + assign reset_on_sr = ((((reqs_i == 5'b01000) | (reqs_i == 5'b00100)) | (reqs_i == 5'b00010)) | (reqs_i == 5'b00001)) | (reqs_i == 5'b10000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 6) begin : inputs_6 + reg [5:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 9'bzzz000000: begin + sel_one_hot_n = 6'b000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 9'b000zzzz1z: begin + sel_one_hot_n = 6'b000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 9'b000zzz10z: begin + sel_one_hot_n = 6'b000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 9'b000zz100z: begin + sel_one_hot_n = 6'b001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 9'b000z1000z: begin + sel_one_hot_n = 6'b010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 9'b00010000z: begin + sel_one_hot_n = 6'b100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 9'b000000001: begin + sel_one_hot_n = 6'b000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 9'b001zzz1zz: begin + sel_one_hot_n = 6'b000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 9'b001zz10zz: begin + sel_one_hot_n = 6'b001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 9'b001z100zz: begin + sel_one_hot_n = 6'b010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 9'b0011000zz: begin + sel_one_hot_n = 6'b100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 9'b0010000z1: begin + sel_one_hot_n = 6'b000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 9'b001000010: begin + sel_one_hot_n = 6'b000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 9'b010zz1zzz: begin + sel_one_hot_n = 6'b001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 9'b010z10zzz: begin + sel_one_hot_n = 6'b010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 9'b010100zzz: begin + sel_one_hot_n = 6'b100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 9'b010000zz1: begin + sel_one_hot_n = 6'b000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 9'b010000z10: begin + sel_one_hot_n = 6'b000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 9'b010000100: begin + sel_one_hot_n = 6'b000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 9'b011z1zzzz: begin + sel_one_hot_n = 6'b010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 9'b01110zzzz: begin + sel_one_hot_n = 6'b100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 9'b01100zzz1: begin + sel_one_hot_n = 6'b000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 9'b01100zz10: begin + sel_one_hot_n = 6'b000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 9'b01100z100: begin + sel_one_hot_n = 6'b000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 9'b011001000: begin + sel_one_hot_n = 6'b001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 9'b1001zzzzz: begin + sel_one_hot_n = 6'b100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 9'b1000zzzz1: begin + sel_one_hot_n = 6'b000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 9'b1000zzz10: begin + sel_one_hot_n = 6'b000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 9'b1000zz100: begin + sel_one_hot_n = 6'b000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 9'b1000z1000: begin + sel_one_hot_n = 6'b001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 9'b100010000: begin + sel_one_hot_n = 6'b010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 9'b101zzzzz1: begin + sel_one_hot_n = 6'b000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 9'b101zzzz10: begin + sel_one_hot_n = 6'b000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 9'b101zzz100: begin + sel_one_hot_n = 6'b000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 9'b101zz1000: begin + sel_one_hot_n = 6'b001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 9'b101z10000: begin + sel_one_hot_n = 6'b010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 9'b101100000: begin + sel_one_hot_n = 6'b100000; + tag_o = sv2v_cast_A2820_signed(5); + end + default: begin + sel_one_hot_n = {6 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {6 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 3'b000: hold_on_sr = reqs_i == 6'b010000; + 3'b001: hold_on_sr = reqs_i == 6'b001000; + 3'b010: hold_on_sr = reqs_i == 6'b000100; + 3'b011: hold_on_sr = reqs_i == 6'b000010; + 3'b100: hold_on_sr = reqs_i == 6'b000001; + 3'b101: hold_on_sr = reqs_i == 6'b100000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_6 + assign reset_on_sr = (((((reqs_i == 6'b010000) | (reqs_i == 6'b001000)) | (reqs_i == 6'b000100)) | (reqs_i == 6'b000010)) | (reqs_i == 6'b000001)) | (reqs_i == 6'b100000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 7) begin : inputs_7 + reg [6:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 10'bzzz0000000: begin + sel_one_hot_n = 7'b0000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 10'b000zzzzz1z: begin + sel_one_hot_n = 7'b0000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 10'b000zzzz10z: begin + sel_one_hot_n = 7'b0000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 10'b000zzz100z: begin + sel_one_hot_n = 7'b0001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 10'b000zz1000z: begin + sel_one_hot_n = 7'b0010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 10'b000z10000z: begin + sel_one_hot_n = 7'b0100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 10'b000100000z: begin + sel_one_hot_n = 7'b1000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 10'b0000000001: begin + sel_one_hot_n = 7'b0000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 10'b001zzzz1zz: begin + sel_one_hot_n = 7'b0000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 10'b001zzz10zz: begin + sel_one_hot_n = 7'b0001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 10'b001zz100zz: begin + sel_one_hot_n = 7'b0010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 10'b001z1000zz: begin + sel_one_hot_n = 7'b0100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 10'b00110000zz: begin + sel_one_hot_n = 7'b1000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 10'b00100000z1: begin + sel_one_hot_n = 7'b0000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 10'b0010000010: begin + sel_one_hot_n = 7'b0000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 10'b010zzz1zzz: begin + sel_one_hot_n = 7'b0001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 10'b010zz10zzz: begin + sel_one_hot_n = 7'b0010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 10'b010z100zzz: begin + sel_one_hot_n = 7'b0100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 10'b0101000zzz: begin + sel_one_hot_n = 7'b1000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 10'b0100000zz1: begin + sel_one_hot_n = 7'b0000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 10'b0100000z10: begin + sel_one_hot_n = 7'b0000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 10'b0100000100: begin + sel_one_hot_n = 7'b0000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 10'b011zz1zzzz: begin + sel_one_hot_n = 7'b0010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 10'b011z10zzzz: begin + sel_one_hot_n = 7'b0100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 10'b011100zzzz: begin + sel_one_hot_n = 7'b1000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 10'b011000zzz1: begin + sel_one_hot_n = 7'b0000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 10'b011000zz10: begin + sel_one_hot_n = 7'b0000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 10'b011000z100: begin + sel_one_hot_n = 7'b0000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 10'b0110001000: begin + sel_one_hot_n = 7'b0001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 10'b100z1zzzzz: begin + sel_one_hot_n = 7'b0100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 10'b10010zzzzz: begin + sel_one_hot_n = 7'b1000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 10'b10000zzzz1: begin + sel_one_hot_n = 7'b0000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 10'b10000zzz10: begin + sel_one_hot_n = 7'b0000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 10'b10000zz100: begin + sel_one_hot_n = 7'b0000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 10'b10000z1000: begin + sel_one_hot_n = 7'b0001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 10'b1000010000: begin + sel_one_hot_n = 7'b0010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 10'b1011zzzzzz: begin + sel_one_hot_n = 7'b1000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 10'b1010zzzzz1: begin + sel_one_hot_n = 7'b0000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 10'b1010zzzz10: begin + sel_one_hot_n = 7'b0000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 10'b1010zzz100: begin + sel_one_hot_n = 7'b0000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 10'b1010zz1000: begin + sel_one_hot_n = 7'b0001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 10'b1010z10000: begin + sel_one_hot_n = 7'b0010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 10'b1010100000: begin + sel_one_hot_n = 7'b0100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 10'b110zzzzzz1: begin + sel_one_hot_n = 7'b0000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 10'b110zzzzz10: begin + sel_one_hot_n = 7'b0000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 10'b110zzzz100: begin + sel_one_hot_n = 7'b0000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 10'b110zzz1000: begin + sel_one_hot_n = 7'b0001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 10'b110zz10000: begin + sel_one_hot_n = 7'b0010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 10'b110z100000: begin + sel_one_hot_n = 7'b0100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 10'b1101000000: begin + sel_one_hot_n = 7'b1000000; + tag_o = sv2v_cast_A2820_signed(6); + end + default: begin + sel_one_hot_n = {7 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {7 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 3'b000: hold_on_sr = reqs_i == 7'b0100000; + 3'b001: hold_on_sr = reqs_i == 7'b0010000; + 3'b010: hold_on_sr = reqs_i == 7'b0001000; + 3'b011: hold_on_sr = reqs_i == 7'b0000100; + 3'b100: hold_on_sr = reqs_i == 7'b0000010; + 3'b101: hold_on_sr = reqs_i == 7'b0000001; + 3'b110: hold_on_sr = reqs_i == 7'b1000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_7 + assign reset_on_sr = ((((((reqs_i == 7'b0100000) | (reqs_i == 7'b0010000)) | (reqs_i == 7'b0001000)) | (reqs_i == 7'b0000100)) | (reqs_i == 7'b0000010)) | (reqs_i == 7'b0000001)) | (reqs_i == 7'b1000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 8) begin : inputs_8 + reg [7:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 11'bzzz00000000: begin + sel_one_hot_n = 8'b00000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 11'b000zzzzzz1z: begin + sel_one_hot_n = 8'b00000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 11'b000zzzzz10z: begin + sel_one_hot_n = 8'b00000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 11'b000zzzz100z: begin + sel_one_hot_n = 8'b00001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 11'b000zzz1000z: begin + sel_one_hot_n = 8'b00010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 11'b000zz10000z: begin + sel_one_hot_n = 8'b00100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 11'b000z100000z: begin + sel_one_hot_n = 8'b01000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 11'b0001000000z: begin + sel_one_hot_n = 8'b10000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 11'b00000000001: begin + sel_one_hot_n = 8'b00000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 11'b001zzzzz1zz: begin + sel_one_hot_n = 8'b00000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 11'b001zzzz10zz: begin + sel_one_hot_n = 8'b00001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 11'b001zzz100zz: begin + sel_one_hot_n = 8'b00010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 11'b001zz1000zz: begin + sel_one_hot_n = 8'b00100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 11'b001z10000zz: begin + sel_one_hot_n = 8'b01000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 11'b001100000zz: begin + sel_one_hot_n = 8'b10000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 11'b001000000z1: begin + sel_one_hot_n = 8'b00000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 11'b00100000010: begin + sel_one_hot_n = 8'b00000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 11'b010zzzz1zzz: begin + sel_one_hot_n = 8'b00001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 11'b010zzz10zzz: begin + sel_one_hot_n = 8'b00010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 11'b010zz100zzz: begin + sel_one_hot_n = 8'b00100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 11'b010z1000zzz: begin + sel_one_hot_n = 8'b01000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 11'b01010000zzz: begin + sel_one_hot_n = 8'b10000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 11'b01000000zz1: begin + sel_one_hot_n = 8'b00000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 11'b01000000z10: begin + sel_one_hot_n = 8'b00000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 11'b01000000100: begin + sel_one_hot_n = 8'b00000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 11'b011zzz1zzzz: begin + sel_one_hot_n = 8'b00010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 11'b011zz10zzzz: begin + sel_one_hot_n = 8'b00100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 11'b011z100zzzz: begin + sel_one_hot_n = 8'b01000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 11'b0111000zzzz: begin + sel_one_hot_n = 8'b10000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 11'b0110000zzz1: begin + sel_one_hot_n = 8'b00000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 11'b0110000zz10: begin + sel_one_hot_n = 8'b00000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 11'b0110000z100: begin + sel_one_hot_n = 8'b00000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 11'b01100001000: begin + sel_one_hot_n = 8'b00001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 11'b100zz1zzzzz: begin + sel_one_hot_n = 8'b00100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 11'b100z10zzzzz: begin + sel_one_hot_n = 8'b01000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 11'b100100zzzzz: begin + sel_one_hot_n = 8'b10000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 11'b100000zzzz1: begin + sel_one_hot_n = 8'b00000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 11'b100000zzz10: begin + sel_one_hot_n = 8'b00000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 11'b100000zz100: begin + sel_one_hot_n = 8'b00000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 11'b100000z1000: begin + sel_one_hot_n = 8'b00001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 11'b10000010000: begin + sel_one_hot_n = 8'b00010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 11'b101z1zzzzzz: begin + sel_one_hot_n = 8'b01000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 11'b10110zzzzzz: begin + sel_one_hot_n = 8'b10000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 11'b10100zzzzz1: begin + sel_one_hot_n = 8'b00000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 11'b10100zzzz10: begin + sel_one_hot_n = 8'b00000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 11'b10100zzz100: begin + sel_one_hot_n = 8'b00000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 11'b10100zz1000: begin + sel_one_hot_n = 8'b00001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 11'b10100z10000: begin + sel_one_hot_n = 8'b00010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 11'b10100100000: begin + sel_one_hot_n = 8'b00100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 11'b1101zzzzzzz: begin + sel_one_hot_n = 8'b10000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 11'b1100zzzzzz1: begin + sel_one_hot_n = 8'b00000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 11'b1100zzzzz10: begin + sel_one_hot_n = 8'b00000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 11'b1100zzzz100: begin + sel_one_hot_n = 8'b00000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 11'b1100zzz1000: begin + sel_one_hot_n = 8'b00001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 11'b1100zz10000: begin + sel_one_hot_n = 8'b00010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 11'b1100z100000: begin + sel_one_hot_n = 8'b00100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 11'b11001000000: begin + sel_one_hot_n = 8'b01000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 11'b111zzzzzzz1: begin + sel_one_hot_n = 8'b00000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 11'b111zzzzzz10: begin + sel_one_hot_n = 8'b00000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 11'b111zzzzz100: begin + sel_one_hot_n = 8'b00000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 11'b111zzzz1000: begin + sel_one_hot_n = 8'b00001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 11'b111zzz10000: begin + sel_one_hot_n = 8'b00010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 11'b111zz100000: begin + sel_one_hot_n = 8'b00100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 11'b111z1000000: begin + sel_one_hot_n = 8'b01000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 11'b11110000000: begin + sel_one_hot_n = 8'b10000000; + tag_o = sv2v_cast_A2820_signed(7); + end + default: begin + sel_one_hot_n = {8 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {8 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 3'b000: hold_on_sr = reqs_i == 8'b01000000; + 3'b001: hold_on_sr = reqs_i == 8'b00100000; + 3'b010: hold_on_sr = reqs_i == 8'b00010000; + 3'b011: hold_on_sr = reqs_i == 8'b00001000; + 3'b100: hold_on_sr = reqs_i == 8'b00000100; + 3'b101: hold_on_sr = reqs_i == 8'b00000010; + 3'b110: hold_on_sr = reqs_i == 8'b00000001; + default: hold_on_sr = reqs_i == 8'b10000000; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_8 + assign reset_on_sr = (((((((reqs_i == 8'b01000000) | (reqs_i == 8'b00100000)) | (reqs_i == 8'b00010000)) | (reqs_i == 8'b00001000)) | (reqs_i == 8'b00000100)) | (reqs_i == 8'b00000010)) | (reqs_i == 8'b00000001)) | (reqs_i == 8'b10000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 9) begin : inputs_9 + reg [8:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 13'bzzzz000000000: begin + sel_one_hot_n = 9'b000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b0000zzzzzzz1z: begin + sel_one_hot_n = 9'b000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 13'b0000zzzzzz10z: begin + sel_one_hot_n = 9'b000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 13'b0000zzzzz100z: begin + sel_one_hot_n = 9'b000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 13'b0000zzzz1000z: begin + sel_one_hot_n = 9'b000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 13'b0000zzz10000z: begin + sel_one_hot_n = 9'b000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 13'b0000zz100000z: begin + sel_one_hot_n = 9'b001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 13'b0000z1000000z: begin + sel_one_hot_n = 9'b010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 13'b000010000000z: begin + sel_one_hot_n = 9'b100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 13'b0000000000001: begin + sel_one_hot_n = 9'b000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b0001zzzzzz1zz: begin + sel_one_hot_n = 9'b000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 13'b0001zzzzz10zz: begin + sel_one_hot_n = 9'b000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 13'b0001zzzz100zz: begin + sel_one_hot_n = 9'b000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 13'b0001zzz1000zz: begin + sel_one_hot_n = 9'b000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 13'b0001zz10000zz: begin + sel_one_hot_n = 9'b001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 13'b0001z100000zz: begin + sel_one_hot_n = 9'b010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 13'b00011000000zz: begin + sel_one_hot_n = 9'b100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 13'b00010000000z1: begin + sel_one_hot_n = 9'b000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b0001000000010: begin + sel_one_hot_n = 9'b000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 13'b0010zzzzz1zzz: begin + sel_one_hot_n = 9'b000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 13'b0010zzzz10zzz: begin + sel_one_hot_n = 9'b000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 13'b0010zzz100zzz: begin + sel_one_hot_n = 9'b000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 13'b0010zz1000zzz: begin + sel_one_hot_n = 9'b001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 13'b0010z10000zzz: begin + sel_one_hot_n = 9'b010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 13'b0010100000zzz: begin + sel_one_hot_n = 9'b100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 13'b0010000000zz1: begin + sel_one_hot_n = 9'b000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b0010000000z10: begin + sel_one_hot_n = 9'b000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 13'b0010000000100: begin + sel_one_hot_n = 9'b000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 13'b0011zzzz1zzzz: begin + sel_one_hot_n = 9'b000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 13'b0011zzz10zzzz: begin + sel_one_hot_n = 9'b000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 13'b0011zz100zzzz: begin + sel_one_hot_n = 9'b001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 13'b0011z1000zzzz: begin + sel_one_hot_n = 9'b010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 13'b001110000zzzz: begin + sel_one_hot_n = 9'b100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 13'b001100000zzz1: begin + sel_one_hot_n = 9'b000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b001100000zz10: begin + sel_one_hot_n = 9'b000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 13'b001100000z100: begin + sel_one_hot_n = 9'b000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 13'b0011000001000: begin + sel_one_hot_n = 9'b000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 13'b0100zzz1zzzzz: begin + sel_one_hot_n = 9'b000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 13'b0100zz10zzzzz: begin + sel_one_hot_n = 9'b001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 13'b0100z100zzzzz: begin + sel_one_hot_n = 9'b010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 13'b01001000zzzzz: begin + sel_one_hot_n = 9'b100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 13'b01000000zzzz1: begin + sel_one_hot_n = 9'b000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b01000000zzz10: begin + sel_one_hot_n = 9'b000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 13'b01000000zz100: begin + sel_one_hot_n = 9'b000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 13'b01000000z1000: begin + sel_one_hot_n = 9'b000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 13'b0100000010000: begin + sel_one_hot_n = 9'b000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 13'b0101zz1zzzzzz: begin + sel_one_hot_n = 9'b001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 13'b0101z10zzzzzz: begin + sel_one_hot_n = 9'b010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 13'b0101100zzzzzz: begin + sel_one_hot_n = 9'b100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 13'b0101000zzzzz1: begin + sel_one_hot_n = 9'b000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b0101000zzzz10: begin + sel_one_hot_n = 9'b000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 13'b0101000zzz100: begin + sel_one_hot_n = 9'b000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 13'b0101000zz1000: begin + sel_one_hot_n = 9'b000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 13'b0101000z10000: begin + sel_one_hot_n = 9'b000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 13'b0101000100000: begin + sel_one_hot_n = 9'b000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 13'b0110z1zzzzzzz: begin + sel_one_hot_n = 9'b010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 13'b011010zzzzzzz: begin + sel_one_hot_n = 9'b100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 13'b011000zzzzzz1: begin + sel_one_hot_n = 9'b000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b011000zzzzz10: begin + sel_one_hot_n = 9'b000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 13'b011000zzzz100: begin + sel_one_hot_n = 9'b000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 13'b011000zzz1000: begin + sel_one_hot_n = 9'b000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 13'b011000zz10000: begin + sel_one_hot_n = 9'b000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 13'b011000z100000: begin + sel_one_hot_n = 9'b000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 13'b0110001000000: begin + sel_one_hot_n = 9'b001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 13'b01111zzzzzzzz: begin + sel_one_hot_n = 9'b100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 13'b01110zzzzzzz1: begin + sel_one_hot_n = 9'b000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b01110zzzzzz10: begin + sel_one_hot_n = 9'b000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 13'b01110zzzzz100: begin + sel_one_hot_n = 9'b000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 13'b01110zzzz1000: begin + sel_one_hot_n = 9'b000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 13'b01110zzz10000: begin + sel_one_hot_n = 9'b000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 13'b01110zz100000: begin + sel_one_hot_n = 9'b000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 13'b01110z1000000: begin + sel_one_hot_n = 9'b001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 13'b0111010000000: begin + sel_one_hot_n = 9'b010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 13'b1000zzzzzzzz1: begin + sel_one_hot_n = 9'b000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 13'b1000zzzzzzz10: begin + sel_one_hot_n = 9'b000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 13'b1000zzzzzz100: begin + sel_one_hot_n = 9'b000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 13'b1000zzzzz1000: begin + sel_one_hot_n = 9'b000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 13'b1000zzzz10000: begin + sel_one_hot_n = 9'b000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 13'b1000zzz100000: begin + sel_one_hot_n = 9'b000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 13'b1000zz1000000: begin + sel_one_hot_n = 9'b001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 13'b1000z10000000: begin + sel_one_hot_n = 9'b010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 13'b1000100000000: begin + sel_one_hot_n = 9'b100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + default: begin + sel_one_hot_n = {9 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {9 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 4'b0000: hold_on_sr = reqs_i == 9'b010000000; + 4'b0001: hold_on_sr = reqs_i == 9'b001000000; + 4'b0010: hold_on_sr = reqs_i == 9'b000100000; + 4'b0011: hold_on_sr = reqs_i == 9'b000010000; + 4'b0100: hold_on_sr = reqs_i == 9'b000001000; + 4'b0101: hold_on_sr = reqs_i == 9'b000000100; + 4'b0110: hold_on_sr = reqs_i == 9'b000000010; + 4'b0111: hold_on_sr = reqs_i == 9'b000000001; + 4'b1000: hold_on_sr = reqs_i == 9'b100000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_9 + assign reset_on_sr = ((((((((reqs_i == 9'b010000000) | (reqs_i == 9'b001000000)) | (reqs_i == 9'b000100000)) | (reqs_i == 9'b000010000)) | (reqs_i == 9'b000001000)) | (reqs_i == 9'b000000100)) | (reqs_i == 9'b000000010)) | (reqs_i == 9'b000000001)) | (reqs_i == 9'b100000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 10) begin : inputs_10 + reg [9:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 14'bzzzz0000000000: begin + sel_one_hot_n = 10'b0000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b0000zzzzzzzz1z: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b0000zzzzzzz10z: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b0000zzzzzz100z: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b0000zzzzz1000z: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b0000zzzz10000z: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b0000zzz100000z: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b0000zz1000000z: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b0000z10000000z: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b0000100000000z: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 14'b00000000000001: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b0001zzzzzzz1zz: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b0001zzzzzz10zz: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b0001zzzzz100zz: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b0001zzzz1000zz: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b0001zzz10000zz: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b0001zz100000zz: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b0001z1000000zz: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b000110000000zz: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 14'b000100000000z1: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b00010000000010: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b0010zzzzzz1zzz: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b0010zzzzz10zzz: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b0010zzzz100zzz: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b0010zzz1000zzz: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b0010zz10000zzz: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b0010z100000zzz: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b00101000000zzz: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 14'b00100000000zz1: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b00100000000z10: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b00100000000100: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b0011zzzzz1zzzz: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b0011zzzz10zzzz: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b0011zzz100zzzz: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b0011zz1000zzzz: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b0011z10000zzzz: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b0011100000zzzz: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 14'b0011000000zzz1: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b0011000000zz10: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b0011000000z100: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b00110000001000: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b0100zzzz1zzzzz: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b0100zzz10zzzzz: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b0100zz100zzzzz: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b0100z1000zzzzz: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b010010000zzzzz: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 14'b010000000zzzz1: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b010000000zzz10: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b010000000zz100: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b010000000z1000: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b01000000010000: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b0101zzz1zzzzzz: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b0101zz10zzzzzz: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b0101z100zzzzzz: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b01011000zzzzzz: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 14'b01010000zzzzz1: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b01010000zzzz10: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b01010000zzz100: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b01010000zz1000: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b01010000z10000: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b01010000100000: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b0110zz1zzzzzzz: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b0110z10zzzzzzz: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b0110100zzzzzzz: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 14'b0110000zzzzzz1: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b0110000zzzzz10: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b0110000zzzz100: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b0110000zzz1000: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b0110000zz10000: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b0110000z100000: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b01100001000000: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b0111z1zzzzzzzz: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b011110zzzzzzzz: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 14'b011100zzzzzzz1: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b011100zzzzzz10: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b011100zzzzz100: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b011100zzzz1000: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b011100zzz10000: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b011100zz100000: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b011100z1000000: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b01110010000000: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b10001zzzzzzzzz: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 14'b10000zzzzzzzz1: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b10000zzzzzzz10: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b10000zzzzzz100: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b10000zzzzz1000: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b10000zzzz10000: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b10000zzz100000: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b10000zz1000000: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b10000z10000000: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b10000100000000: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b1001zzzzzzzzz1: begin + sel_one_hot_n = 10'b0000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 14'b1001zzzzzzzz10: begin + sel_one_hot_n = 10'b0000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 14'b1001zzzzzzz100: begin + sel_one_hot_n = 10'b0000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 14'b1001zzzzzz1000: begin + sel_one_hot_n = 10'b0000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 14'b1001zzzzz10000: begin + sel_one_hot_n = 10'b0000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 14'b1001zzzz100000: begin + sel_one_hot_n = 10'b0000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 14'b1001zzz1000000: begin + sel_one_hot_n = 10'b0001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 14'b1001zz10000000: begin + sel_one_hot_n = 10'b0010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 14'b1001z100000000: begin + sel_one_hot_n = 10'b0100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 14'b10011000000000: begin + sel_one_hot_n = 10'b1000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + default: begin + sel_one_hot_n = {10 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {10 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 4'b0000: hold_on_sr = reqs_i == 10'b0100000000; + 4'b0001: hold_on_sr = reqs_i == 10'b0010000000; + 4'b0010: hold_on_sr = reqs_i == 10'b0001000000; + 4'b0011: hold_on_sr = reqs_i == 10'b0000100000; + 4'b0100: hold_on_sr = reqs_i == 10'b0000010000; + 4'b0101: hold_on_sr = reqs_i == 10'b0000001000; + 4'b0110: hold_on_sr = reqs_i == 10'b0000000100; + 4'b0111: hold_on_sr = reqs_i == 10'b0000000010; + 4'b1000: hold_on_sr = reqs_i == 10'b0000000001; + 4'b1001: hold_on_sr = reqs_i == 10'b1000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_10 + assign reset_on_sr = (((((((((reqs_i == 10'b0100000000) | (reqs_i == 10'b0010000000)) | (reqs_i == 10'b0001000000)) | (reqs_i == 10'b0000100000)) | (reqs_i == 10'b0000010000)) | (reqs_i == 10'b0000001000)) | (reqs_i == 10'b0000000100)) | (reqs_i == 10'b0000000010)) | (reqs_i == 10'b0000000001)) | (reqs_i == 10'b1000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 11) begin : inputs_11 + reg [10:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 15'bzzzz00000000000: begin + sel_one_hot_n = 11'b00000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b0000zzzzzzzzz1z: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b0000zzzzzzzz10z: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b0000zzzzzzz100z: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b0000zzzzzz1000z: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b0000zzzzz10000z: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b0000zzzz100000z: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b0000zzz1000000z: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b0000zz10000000z: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b0000z100000000z: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b00001000000000z: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b000000000000001: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b0001zzzzzzzz1zz: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b0001zzzzzzz10zz: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b0001zzzzzz100zz: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b0001zzzzz1000zz: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b0001zzzz10000zz: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b0001zzz100000zz: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b0001zz1000000zz: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b0001z10000000zz: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b0001100000000zz: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b0001000000000z1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b000100000000010: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b0010zzzzzzz1zzz: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b0010zzzzzz10zzz: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b0010zzzzz100zzz: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b0010zzzz1000zzz: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b0010zzz10000zzz: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b0010zz100000zzz: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b0010z1000000zzz: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b001010000000zzz: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b001000000000zz1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b001000000000z10: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b001000000000100: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b0011zzzzzz1zzzz: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b0011zzzzz10zzzz: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b0011zzzz100zzzz: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b0011zzz1000zzzz: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b0011zz10000zzzz: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b0011z100000zzzz: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b00111000000zzzz: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b00110000000zzz1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b00110000000zz10: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b00110000000z100: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b001100000001000: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b0100zzzzz1zzzzz: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b0100zzzz10zzzzz: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b0100zzz100zzzzz: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b0100zz1000zzzzz: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b0100z10000zzzzz: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b0100100000zzzzz: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b0100000000zzzz1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b0100000000zzz10: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b0100000000zz100: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b0100000000z1000: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b010000000010000: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b0101zzzz1zzzzzz: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b0101zzz10zzzzzz: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b0101zz100zzzzzz: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b0101z1000zzzzzz: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b010110000zzzzzz: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b010100000zzzzz1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b010100000zzzz10: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b010100000zzz100: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b010100000zz1000: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b010100000z10000: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b010100000100000: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b0110zzz1zzzzzzz: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b0110zz10zzzzzzz: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b0110z100zzzzzzz: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b01101000zzzzzzz: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b01100000zzzzzz1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b01100000zzzzz10: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b01100000zzzz100: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b01100000zzz1000: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b01100000zz10000: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b01100000z100000: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b011000001000000: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b0111zz1zzzzzzzz: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b0111z10zzzzzzzz: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b0111100zzzzzzzz: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b0111000zzzzzzz1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b0111000zzzzzz10: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b0111000zzzzz100: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b0111000zzzz1000: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b0111000zzz10000: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b0111000zz100000: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b0111000z1000000: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b011100010000000: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b1000z1zzzzzzzzz: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b100010zzzzzzzzz: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b100000zzzzzzzz1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b100000zzzzzzz10: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b100000zzzzzz100: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b100000zzzzz1000: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b100000zzzz10000: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b100000zzz100000: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b100000zz1000000: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b100000z10000000: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b100000100000000: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b10011zzzzzzzzzz: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 15'b10010zzzzzzzzz1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b10010zzzzzzzz10: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b10010zzzzzzz100: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b10010zzzzzz1000: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b10010zzzzz10000: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b10010zzzz100000: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b10010zzz1000000: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b10010zz10000000: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b10010z100000000: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b100101000000000: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b1010zzzzzzzzzz1: begin + sel_one_hot_n = 11'b00000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 15'b1010zzzzzzzzz10: begin + sel_one_hot_n = 11'b00000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 15'b1010zzzzzzzz100: begin + sel_one_hot_n = 11'b00000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 15'b1010zzzzzzz1000: begin + sel_one_hot_n = 11'b00000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 15'b1010zzzzzz10000: begin + sel_one_hot_n = 11'b00000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 15'b1010zzzzz100000: begin + sel_one_hot_n = 11'b00000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 15'b1010zzzz1000000: begin + sel_one_hot_n = 11'b00001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 15'b1010zzz10000000: begin + sel_one_hot_n = 11'b00010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 15'b1010zz100000000: begin + sel_one_hot_n = 11'b00100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 15'b1010z1000000000: begin + sel_one_hot_n = 11'b01000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 15'b101010000000000: begin + sel_one_hot_n = 11'b10000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + default: begin + sel_one_hot_n = {11 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {11 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 4'b0000: hold_on_sr = reqs_i == 11'b01000000000; + 4'b0001: hold_on_sr = reqs_i == 11'b00100000000; + 4'b0010: hold_on_sr = reqs_i == 11'b00010000000; + 4'b0011: hold_on_sr = reqs_i == 11'b00001000000; + 4'b0100: hold_on_sr = reqs_i == 11'b00000100000; + 4'b0101: hold_on_sr = reqs_i == 11'b00000010000; + 4'b0110: hold_on_sr = reqs_i == 11'b00000001000; + 4'b0111: hold_on_sr = reqs_i == 11'b00000000100; + 4'b1000: hold_on_sr = reqs_i == 11'b00000000010; + 4'b1001: hold_on_sr = reqs_i == 11'b00000000001; + 4'b1010: hold_on_sr = reqs_i == 11'b10000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_11 + assign reset_on_sr = ((((((((((reqs_i == 11'b01000000000) | (reqs_i == 11'b00100000000)) | (reqs_i == 11'b00010000000)) | (reqs_i == 11'b00001000000)) | (reqs_i == 11'b00000100000)) | (reqs_i == 11'b00000010000)) | (reqs_i == 11'b00000001000)) | (reqs_i == 11'b00000000100)) | (reqs_i == 11'b00000000010)) | (reqs_i == 11'b00000000001)) | (reqs_i == 11'b10000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 12) begin : inputs_12 + reg [11:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 16'bzzzz000000000000: begin + sel_one_hot_n = 12'b000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b0000zzzzzzzzzz1z: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b0000zzzzzzzzz10z: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b0000zzzzzzzz100z: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b0000zzzzzzz1000z: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b0000zzzzzz10000z: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b0000zzzzz100000z: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b0000zzzz1000000z: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b0000zzz10000000z: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b0000zz100000000z: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b0000z1000000000z: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b000010000000000z: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b0000000000000001: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b0001zzzzzzzzz1zz: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b0001zzzzzzzz10zz: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b0001zzzzzzz100zz: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b0001zzzzzz1000zz: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b0001zzzzz10000zz: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b0001zzzz100000zz: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b0001zzz1000000zz: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b0001zz10000000zz: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b0001z100000000zz: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b00011000000000zz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b00010000000000z1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b0001000000000010: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b0010zzzzzzzz1zzz: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b0010zzzzzzz10zzz: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b0010zzzzzz100zzz: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b0010zzzzz1000zzz: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b0010zzzz10000zzz: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b0010zzz100000zzz: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b0010zz1000000zzz: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b0010z10000000zzz: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b0010100000000zzz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b0010000000000zz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b0010000000000z10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b0010000000000100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b0011zzzzzzz1zzzz: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b0011zzzzzz10zzzz: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b0011zzzzz100zzzz: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b0011zzzz1000zzzz: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b0011zzz10000zzzz: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b0011zz100000zzzz: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b0011z1000000zzzz: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b001110000000zzzz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b001100000000zzz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b001100000000zz10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b001100000000z100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b0011000000001000: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b0100zzzzzz1zzzzz: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b0100zzzzz10zzzzz: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b0100zzzz100zzzzz: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b0100zzz1000zzzzz: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b0100zz10000zzzzz: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b0100z100000zzzzz: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b01001000000zzzzz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b01000000000zzzz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b01000000000zzz10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b01000000000zz100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b01000000000z1000: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b0100000000010000: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b0101zzzzz1zzzzzz: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b0101zzzz10zzzzzz: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b0101zzz100zzzzzz: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b0101zz1000zzzzzz: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b0101z10000zzzzzz: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b0101100000zzzzzz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b0101000000zzzzz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b0101000000zzzz10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b0101000000zzz100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b0101000000zz1000: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b0101000000z10000: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b0101000000100000: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b0110zzzz1zzzzzzz: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b0110zzz10zzzzzzz: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b0110zz100zzzzzzz: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b0110z1000zzzzzzz: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b011010000zzzzzzz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b011000000zzzzzz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b011000000zzzzz10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b011000000zzzz100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b011000000zzz1000: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b011000000zz10000: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b011000000z100000: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b0110000001000000: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b0111zzz1zzzzzzzz: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b0111zz10zzzzzzzz: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b0111z100zzzzzzzz: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b01111000zzzzzzzz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b01110000zzzzzzz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b01110000zzzzzz10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b01110000zzzzz100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b01110000zzzz1000: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b01110000zzz10000: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b01110000zz100000: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b01110000z1000000: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b0111000010000000: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b1000zz1zzzzzzzzz: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b1000z10zzzzzzzzz: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b1000100zzzzzzzzz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b1000000zzzzzzzz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b1000000zzzzzzz10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b1000000zzzzzz100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b1000000zzzzz1000: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b1000000zzzz10000: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b1000000zzz100000: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b1000000zz1000000: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b1000000z10000000: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b1000000100000000: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b1001z1zzzzzzzzzz: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b100110zzzzzzzzzz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b100100zzzzzzzzz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b100100zzzzzzzz10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b100100zzzzzzz100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b100100zzzzzz1000: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b100100zzzzz10000: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b100100zzzz100000: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b100100zzz1000000: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b100100zz10000000: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b100100z100000000: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b1001001000000000: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b10101zzzzzzzzzzz: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 16'b10100zzzzzzzzzz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b10100zzzzzzzzz10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b10100zzzzzzzz100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b10100zzzzzzz1000: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b10100zzzzzz10000: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b10100zzzzz100000: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b10100zzzz1000000: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b10100zzz10000000: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b10100zz100000000: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b10100z1000000000: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b1010010000000000: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b1011zzzzzzzzzzz1: begin + sel_one_hot_n = 12'b000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 16'b1011zzzzzzzzzz10: begin + sel_one_hot_n = 12'b000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 16'b1011zzzzzzzzz100: begin + sel_one_hot_n = 12'b000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 16'b1011zzzzzzzz1000: begin + sel_one_hot_n = 12'b000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 16'b1011zzzzzzz10000: begin + sel_one_hot_n = 12'b000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 16'b1011zzzzzz100000: begin + sel_one_hot_n = 12'b000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 16'b1011zzzzz1000000: begin + sel_one_hot_n = 12'b000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 16'b1011zzzz10000000: begin + sel_one_hot_n = 12'b000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 16'b1011zzz100000000: begin + sel_one_hot_n = 12'b000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 16'b1011zz1000000000: begin + sel_one_hot_n = 12'b001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 16'b1011z10000000000: begin + sel_one_hot_n = 12'b010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 16'b1011100000000000: begin + sel_one_hot_n = 12'b100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + default: begin + sel_one_hot_n = {12 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {12 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 4'b0000: hold_on_sr = reqs_i == 12'b010000000000; + 4'b0001: hold_on_sr = reqs_i == 12'b001000000000; + 4'b0010: hold_on_sr = reqs_i == 12'b000100000000; + 4'b0011: hold_on_sr = reqs_i == 12'b000010000000; + 4'b0100: hold_on_sr = reqs_i == 12'b000001000000; + 4'b0101: hold_on_sr = reqs_i == 12'b000000100000; + 4'b0110: hold_on_sr = reqs_i == 12'b000000010000; + 4'b0111: hold_on_sr = reqs_i == 12'b000000001000; + 4'b1000: hold_on_sr = reqs_i == 12'b000000000100; + 4'b1001: hold_on_sr = reqs_i == 12'b000000000010; + 4'b1010: hold_on_sr = reqs_i == 12'b000000000001; + 4'b1011: hold_on_sr = reqs_i == 12'b100000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_12 + assign reset_on_sr = (((((((((((reqs_i == 12'b010000000000) | (reqs_i == 12'b001000000000)) | (reqs_i == 12'b000100000000)) | (reqs_i == 12'b000010000000)) | (reqs_i == 12'b000001000000)) | (reqs_i == 12'b000000100000)) | (reqs_i == 12'b000000010000)) | (reqs_i == 12'b000000001000)) | (reqs_i == 12'b000000000100)) | (reqs_i == 12'b000000000010)) | (reqs_i == 12'b000000000001)) | (reqs_i == 12'b100000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 13) begin : inputs_13 + reg [12:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 17'bzzzz0000000000000: begin + sel_one_hot_n = 13'b0000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b0000zzzzzzzzzzz1z: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b0000zzzzzzzzzz10z: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b0000zzzzzzzzz100z: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b0000zzzzzzzz1000z: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b0000zzzzzzz10000z: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b0000zzzzzz100000z: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b0000zzzzz1000000z: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b0000zzzz10000000z: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b0000zzz100000000z: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b0000zz1000000000z: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b0000z10000000000z: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b0000100000000000z: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b00000000000000001: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b0001zzzzzzzzzz1zz: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b0001zzzzzzzzz10zz: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b0001zzzzzzzz100zz: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b0001zzzzzzz1000zz: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b0001zzzzzz10000zz: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b0001zzzzz100000zz: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b0001zzzz1000000zz: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b0001zzz10000000zz: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b0001zz100000000zz: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b0001z1000000000zz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b000110000000000zz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b000100000000000z1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b00010000000000010: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b0010zzzzzzzzz1zzz: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b0010zzzzzzzz10zzz: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b0010zzzzzzz100zzz: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b0010zzzzzz1000zzz: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b0010zzzzz10000zzz: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b0010zzzz100000zzz: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b0010zzz1000000zzz: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b0010zz10000000zzz: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b0010z100000000zzz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b00101000000000zzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b00100000000000zz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b00100000000000z10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b00100000000000100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b0011zzzzzzzz1zzzz: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b0011zzzzzzz10zzzz: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b0011zzzzzz100zzzz: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b0011zzzzz1000zzzz: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b0011zzzz10000zzzz: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b0011zzz100000zzzz: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b0011zz1000000zzzz: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b0011z10000000zzzz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b0011100000000zzzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b0011000000000zzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b0011000000000zz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b0011000000000z100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b00110000000001000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b0100zzzzzzz1zzzzz: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b0100zzzzzz10zzzzz: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b0100zzzzz100zzzzz: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b0100zzzz1000zzzzz: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b0100zzz10000zzzzz: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b0100zz100000zzzzz: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b0100z1000000zzzzz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b010010000000zzzzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b010000000000zzzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b010000000000zzz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b010000000000zz100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b010000000000z1000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b01000000000010000: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b0101zzzzzz1zzzzzz: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b0101zzzzz10zzzzzz: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b0101zzzz100zzzzzz: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b0101zzz1000zzzzzz: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b0101zz10000zzzzzz: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b0101z100000zzzzzz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b01011000000zzzzzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b01010000000zzzzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b01010000000zzzz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b01010000000zzz100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b01010000000zz1000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b01010000000z10000: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b01010000000100000: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b0110zzzzz1zzzzzzz: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b0110zzzz10zzzzzzz: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b0110zzz100zzzzzzz: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b0110zz1000zzzzzzz: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b0110z10000zzzzzzz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b0110100000zzzzzzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b0110000000zzzzzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b0110000000zzzzz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b0110000000zzzz100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b0110000000zzz1000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b0110000000zz10000: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b0110000000z100000: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b01100000001000000: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b0111zzzz1zzzzzzzz: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b0111zzz10zzzzzzzz: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b0111zz100zzzzzzzz: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b0111z1000zzzzzzzz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b011110000zzzzzzzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b011100000zzzzzzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b011100000zzzzzz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b011100000zzzzz100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b011100000zzzz1000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b011100000zzz10000: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b011100000zz100000: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b011100000z1000000: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b01110000010000000: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b1000zzz1zzzzzzzzz: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b1000zz10zzzzzzzzz: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b1000z100zzzzzzzzz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b10001000zzzzzzzzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b10000000zzzzzzzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b10000000zzzzzzz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b10000000zzzzzz100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b10000000zzzzz1000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b10000000zzzz10000: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b10000000zzz100000: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b10000000zz1000000: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b10000000z10000000: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b10000000100000000: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b1001zz1zzzzzzzzzz: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b1001z10zzzzzzzzzz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b1001100zzzzzzzzzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b1001000zzzzzzzzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b1001000zzzzzzzz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b1001000zzzzzzz100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b1001000zzzzzz1000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b1001000zzzzz10000: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b1001000zzzz100000: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b1001000zzz1000000: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b1001000zz10000000: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b1001000z100000000: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b10010001000000000: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b1010z1zzzzzzzzzzz: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b101010zzzzzzzzzzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b101000zzzzzzzzzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b101000zzzzzzzzz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b101000zzzzzzzz100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b101000zzzzzzz1000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b101000zzzzzz10000: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b101000zzzzz100000: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b101000zzzz1000000: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b101000zzz10000000: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b101000zz100000000: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b101000z1000000000: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b10100010000000000: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b10111zzzzzzzzzzzz: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 17'b10110zzzzzzzzzzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b10110zzzzzzzzzz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b10110zzzzzzzzz100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b10110zzzzzzzz1000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b10110zzzzzzz10000: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b10110zzzzzz100000: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b10110zzzzz1000000: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b10110zzzz10000000: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b10110zzz100000000: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b10110zz1000000000: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b10110z10000000000: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b10110100000000000: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b1100zzzzzzzzzzzz1: begin + sel_one_hot_n = 13'b0000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 17'b1100zzzzzzzzzzz10: begin + sel_one_hot_n = 13'b0000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 17'b1100zzzzzzzzzz100: begin + sel_one_hot_n = 13'b0000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 17'b1100zzzzzzzzz1000: begin + sel_one_hot_n = 13'b0000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 17'b1100zzzzzzzz10000: begin + sel_one_hot_n = 13'b0000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 17'b1100zzzzzzz100000: begin + sel_one_hot_n = 13'b0000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 17'b1100zzzzzz1000000: begin + sel_one_hot_n = 13'b0000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 17'b1100zzzzz10000000: begin + sel_one_hot_n = 13'b0000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 17'b1100zzzz100000000: begin + sel_one_hot_n = 13'b0000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 17'b1100zzz1000000000: begin + sel_one_hot_n = 13'b0001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 17'b1100zz10000000000: begin + sel_one_hot_n = 13'b0010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 17'b1100z100000000000: begin + sel_one_hot_n = 13'b0100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 17'b11001000000000000: begin + sel_one_hot_n = 13'b1000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + default: begin + sel_one_hot_n = {13 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {13 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 4'b0000: hold_on_sr = reqs_i == 13'b0100000000000; + 4'b0001: hold_on_sr = reqs_i == 13'b0010000000000; + 4'b0010: hold_on_sr = reqs_i == 13'b0001000000000; + 4'b0011: hold_on_sr = reqs_i == 13'b0000100000000; + 4'b0100: hold_on_sr = reqs_i == 13'b0000010000000; + 4'b0101: hold_on_sr = reqs_i == 13'b0000001000000; + 4'b0110: hold_on_sr = reqs_i == 13'b0000000100000; + 4'b0111: hold_on_sr = reqs_i == 13'b0000000010000; + 4'b1000: hold_on_sr = reqs_i == 13'b0000000001000; + 4'b1001: hold_on_sr = reqs_i == 13'b0000000000100; + 4'b1010: hold_on_sr = reqs_i == 13'b0000000000010; + 4'b1011: hold_on_sr = reqs_i == 13'b0000000000001; + 4'b1100: hold_on_sr = reqs_i == 13'b1000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_13 + assign reset_on_sr = ((((((((((((reqs_i == 13'b0100000000000) | (reqs_i == 13'b0010000000000)) | (reqs_i == 13'b0001000000000)) | (reqs_i == 13'b0000100000000)) | (reqs_i == 13'b0000010000000)) | (reqs_i == 13'b0000001000000)) | (reqs_i == 13'b0000000100000)) | (reqs_i == 13'b0000000010000)) | (reqs_i == 13'b0000000001000)) | (reqs_i == 13'b0000000000100)) | (reqs_i == 13'b0000000000010)) | (reqs_i == 13'b0000000000001)) | (reqs_i == 13'b1000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 14) begin : inputs_14 + reg [13:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 18'bzzzz00000000000000: begin + sel_one_hot_n = 14'b00000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b0000zzzzzzzzzzzz1z: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b0000zzzzzzzzzzz10z: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b0000zzzzzzzzzz100z: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b0000zzzzzzzzz1000z: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b0000zzzzzzzz10000z: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b0000zzzzzzz100000z: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b0000zzzzzz1000000z: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b0000zzzzz10000000z: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b0000zzzz100000000z: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b0000zzz1000000000z: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b0000zz10000000000z: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b0000z100000000000z: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b00001000000000000z: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b000000000000000001: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b0001zzzzzzzzzzz1zz: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b0001zzzzzzzzzz10zz: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b0001zzzzzzzzz100zz: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b0001zzzzzzzz1000zz: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b0001zzzzzzz10000zz: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b0001zzzzzz100000zz: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b0001zzzzz1000000zz: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b0001zzzz10000000zz: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b0001zzz100000000zz: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b0001zz1000000000zz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b0001z10000000000zz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b0001100000000000zz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b0001000000000000z1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b000100000000000010: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b0010zzzzzzzzzz1zzz: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b0010zzzzzzzzz10zzz: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b0010zzzzzzzz100zzz: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b0010zzzzzzz1000zzz: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b0010zzzzzz10000zzz: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b0010zzzzz100000zzz: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b0010zzzz1000000zzz: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b0010zzz10000000zzz: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b0010zz100000000zzz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b0010z1000000000zzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b001010000000000zzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b001000000000000zz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b001000000000000z10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b001000000000000100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b0011zzzzzzzzz1zzzz: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b0011zzzzzzzz10zzzz: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b0011zzzzzzz100zzzz: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b0011zzzzzz1000zzzz: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b0011zzzzz10000zzzz: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b0011zzzz100000zzzz: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b0011zzz1000000zzzz: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b0011zz10000000zzzz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b0011z100000000zzzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b00111000000000zzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b00110000000000zzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b00110000000000zz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b00110000000000z100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b001100000000001000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b0100zzzzzzzz1zzzzz: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b0100zzzzzzz10zzzzz: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b0100zzzzzz100zzzzz: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b0100zzzzz1000zzzzz: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b0100zzzz10000zzzzz: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b0100zzz100000zzzzz: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b0100zz1000000zzzzz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b0100z10000000zzzzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b0100100000000zzzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b0100000000000zzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b0100000000000zzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b0100000000000zz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b0100000000000z1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b010000000000010000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b0101zzzzzzz1zzzzzz: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b0101zzzzzz10zzzzzz: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b0101zzzzz100zzzzzz: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b0101zzzz1000zzzzzz: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b0101zzz10000zzzzzz: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b0101zz100000zzzzzz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b0101z1000000zzzzzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b010110000000zzzzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b010100000000zzzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b010100000000zzzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b010100000000zzz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b010100000000zz1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b010100000000z10000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b010100000000100000: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b0110zzzzzz1zzzzzzz: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b0110zzzzz10zzzzzzz: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b0110zzzz100zzzzzzz: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b0110zzz1000zzzzzzz: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b0110zz10000zzzzzzz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b0110z100000zzzzzzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b01101000000zzzzzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b01100000000zzzzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b01100000000zzzzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b01100000000zzzz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b01100000000zzz1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b01100000000zz10000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b01100000000z100000: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b011000000001000000: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b0111zzzzz1zzzzzzzz: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b0111zzzz10zzzzzzzz: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b0111zzz100zzzzzzzz: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b0111zz1000zzzzzzzz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b0111z10000zzzzzzzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b0111100000zzzzzzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b0111000000zzzzzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b0111000000zzzzzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b0111000000zzzzz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b0111000000zzzz1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b0111000000zzz10000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b0111000000zz100000: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b0111000000z1000000: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b011100000010000000: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b1000zzzz1zzzzzzzzz: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b1000zzz10zzzzzzzzz: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b1000zz100zzzzzzzzz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b1000z1000zzzzzzzzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b100010000zzzzzzzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b100000000zzzzzzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b100000000zzzzzzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b100000000zzzzzz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b100000000zzzzz1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b100000000zzzz10000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b100000000zzz100000: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b100000000zz1000000: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b100000000z10000000: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b100000000100000000: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b1001zzz1zzzzzzzzzz: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b1001zz10zzzzzzzzzz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b1001z100zzzzzzzzzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b10011000zzzzzzzzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b10010000zzzzzzzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b10010000zzzzzzzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b10010000zzzzzzz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b10010000zzzzzz1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b10010000zzzzz10000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b10010000zzzz100000: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b10010000zzz1000000: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b10010000zz10000000: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b10010000z100000000: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b100100001000000000: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b1010zz1zzzzzzzzzzz: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b1010z10zzzzzzzzzzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b1010100zzzzzzzzzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b1010000zzzzzzzzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b1010000zzzzzzzzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b1010000zzzzzzzz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b1010000zzzzzzz1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b1010000zzzzzz10000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b1010000zzzzz100000: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b1010000zzzz1000000: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b1010000zzz10000000: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b1010000zz100000000: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b1010000z1000000000: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b101000010000000000: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b1011z1zzzzzzzzzzzz: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b101110zzzzzzzzzzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b101100zzzzzzzzzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b101100zzzzzzzzzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b101100zzzzzzzzz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b101100zzzzzzzz1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b101100zzzzzzz10000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b101100zzzzzz100000: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b101100zzzzz1000000: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b101100zzzz10000000: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b101100zzz100000000: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b101100zz1000000000: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b101100z10000000000: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b101100100000000000: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b11001zzzzzzzzzzzzz: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 18'b11000zzzzzzzzzzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b11000zzzzzzzzzzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b11000zzzzzzzzzz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b11000zzzzzzzzz1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b11000zzzzzzzz10000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b11000zzzzzzz100000: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b11000zzzzzz1000000: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b11000zzzzz10000000: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b11000zzzz100000000: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b11000zzz1000000000: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b11000zz10000000000: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b11000z100000000000: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b110001000000000000: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b1101zzzzzzzzzzzzz1: begin + sel_one_hot_n = 14'b00000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 18'b1101zzzzzzzzzzzz10: begin + sel_one_hot_n = 14'b00000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 18'b1101zzzzzzzzzzz100: begin + sel_one_hot_n = 14'b00000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 18'b1101zzzzzzzzzz1000: begin + sel_one_hot_n = 14'b00000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 18'b1101zzzzzzzzz10000: begin + sel_one_hot_n = 14'b00000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 18'b1101zzzzzzzz100000: begin + sel_one_hot_n = 14'b00000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 18'b1101zzzzzzz1000000: begin + sel_one_hot_n = 14'b00000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 18'b1101zzzzzz10000000: begin + sel_one_hot_n = 14'b00000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 18'b1101zzzzz100000000: begin + sel_one_hot_n = 14'b00000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 18'b1101zzzz1000000000: begin + sel_one_hot_n = 14'b00001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 18'b1101zzz10000000000: begin + sel_one_hot_n = 14'b00010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 18'b1101zz100000000000: begin + sel_one_hot_n = 14'b00100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 18'b1101z1000000000000: begin + sel_one_hot_n = 14'b01000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 18'b110110000000000000: begin + sel_one_hot_n = 14'b10000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + default: begin + sel_one_hot_n = {14 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {14 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 4'b0000: hold_on_sr = reqs_i == 14'b01000000000000; + 4'b0001: hold_on_sr = reqs_i == 14'b00100000000000; + 4'b0010: hold_on_sr = reqs_i == 14'b00010000000000; + 4'b0011: hold_on_sr = reqs_i == 14'b00001000000000; + 4'b0100: hold_on_sr = reqs_i == 14'b00000100000000; + 4'b0101: hold_on_sr = reqs_i == 14'b00000010000000; + 4'b0110: hold_on_sr = reqs_i == 14'b00000001000000; + 4'b0111: hold_on_sr = reqs_i == 14'b00000000100000; + 4'b1000: hold_on_sr = reqs_i == 14'b00000000010000; + 4'b1001: hold_on_sr = reqs_i == 14'b00000000001000; + 4'b1010: hold_on_sr = reqs_i == 14'b00000000000100; + 4'b1011: hold_on_sr = reqs_i == 14'b00000000000010; + 4'b1100: hold_on_sr = reqs_i == 14'b00000000000001; + 4'b1101: hold_on_sr = reqs_i == 14'b10000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_14 + assign reset_on_sr = (((((((((((((reqs_i == 14'b01000000000000) | (reqs_i == 14'b00100000000000)) | (reqs_i == 14'b00010000000000)) | (reqs_i == 14'b00001000000000)) | (reqs_i == 14'b00000100000000)) | (reqs_i == 14'b00000010000000)) | (reqs_i == 14'b00000001000000)) | (reqs_i == 14'b00000000100000)) | (reqs_i == 14'b00000000010000)) | (reqs_i == 14'b00000000001000)) | (reqs_i == 14'b00000000000100)) | (reqs_i == 14'b00000000000010)) | (reqs_i == 14'b00000000000001)) | (reqs_i == 14'b10000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 15) begin : inputs_15 + reg [14:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 19'bzzzz000000000000000: begin + sel_one_hot_n = 15'b000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b0000zzzzzzzzzzzzz1z: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b0000zzzzzzzzzzzz10z: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b0000zzzzzzzzzzz100z: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b0000zzzzzzzzzz1000z: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b0000zzzzzzzzz10000z: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b0000zzzzzzzz100000z: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b0000zzzzzzz1000000z: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b0000zzzzzz10000000z: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b0000zzzzz100000000z: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b0000zzzz1000000000z: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b0000zzz10000000000z: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b0000zz100000000000z: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b0000z1000000000000z: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b000010000000000000z: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b0000000000000000001: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b0001zzzzzzzzzzzz1zz: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b0001zzzzzzzzzzz10zz: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b0001zzzzzzzzzz100zz: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b0001zzzzzzzzz1000zz: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b0001zzzzzzzz10000zz: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b0001zzzzzzz100000zz: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b0001zzzzzz1000000zz: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b0001zzzzz10000000zz: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b0001zzzz100000000zz: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b0001zzz1000000000zz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b0001zz10000000000zz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b0001z100000000000zz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b00011000000000000zz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b00010000000000000z1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b0001000000000000010: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b0010zzzzzzzzzzz1zzz: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b0010zzzzzzzzzz10zzz: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b0010zzzzzzzzz100zzz: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b0010zzzzzzzz1000zzz: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b0010zzzzzzz10000zzz: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b0010zzzzzz100000zzz: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b0010zzzzz1000000zzz: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b0010zzzz10000000zzz: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b0010zzz100000000zzz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b0010zz1000000000zzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b0010z10000000000zzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b0010100000000000zzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b0010000000000000zz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b0010000000000000z10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b0010000000000000100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b0011zzzzzzzzzz1zzzz: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b0011zzzzzzzzz10zzzz: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b0011zzzzzzzz100zzzz: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b0011zzzzzzz1000zzzz: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b0011zzzzzz10000zzzz: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b0011zzzzz100000zzzz: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b0011zzzz1000000zzzz: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b0011zzz10000000zzzz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b0011zz100000000zzzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b0011z1000000000zzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b001110000000000zzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b001100000000000zzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b001100000000000zz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b001100000000000z100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b0011000000000001000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b0100zzzzzzzzz1zzzzz: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b0100zzzzzzzz10zzzzz: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b0100zzzzzzz100zzzzz: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b0100zzzzzz1000zzzzz: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b0100zzzzz10000zzzzz: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b0100zzzz100000zzzzz: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b0100zzz1000000zzzzz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b0100zz10000000zzzzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b0100z100000000zzzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b01001000000000zzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b01000000000000zzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b01000000000000zzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b01000000000000zz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b01000000000000z1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b0100000000000010000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b0101zzzzzzzz1zzzzzz: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b0101zzzzzzz10zzzzzz: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b0101zzzzzz100zzzzzz: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b0101zzzzz1000zzzzzz: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b0101zzzz10000zzzzzz: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b0101zzz100000zzzzzz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b0101zz1000000zzzzzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b0101z10000000zzzzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b0101100000000zzzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b0101000000000zzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b0101000000000zzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b0101000000000zzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b0101000000000zz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b0101000000000z10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b0101000000000100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b0110zzzzzzz1zzzzzzz: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b0110zzzzzz10zzzzzzz: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b0110zzzzz100zzzzzzz: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b0110zzzz1000zzzzzzz: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b0110zzz10000zzzzzzz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b0110zz100000zzzzzzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b0110z1000000zzzzzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b011010000000zzzzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b011000000000zzzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b011000000000zzzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b011000000000zzzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b011000000000zzz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b011000000000zz10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b011000000000z100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b0110000000001000000: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b0111zzzzzz1zzzzzzzz: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b0111zzzzz10zzzzzzzz: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b0111zzzz100zzzzzzzz: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b0111zzz1000zzzzzzzz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b0111zz10000zzzzzzzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b0111z100000zzzzzzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b01111000000zzzzzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b01110000000zzzzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b01110000000zzzzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b01110000000zzzzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b01110000000zzzz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b01110000000zzz10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b01110000000zz100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b01110000000z1000000: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b0111000000010000000: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b1000zzzzz1zzzzzzzzz: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b1000zzzz10zzzzzzzzz: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b1000zzz100zzzzzzzzz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b1000zz1000zzzzzzzzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b1000z10000zzzzzzzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b1000100000zzzzzzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b1000000000zzzzzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b1000000000zzzzzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b1000000000zzzzzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b1000000000zzzzz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b1000000000zzzz10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b1000000000zzz100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b1000000000zz1000000: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b1000000000z10000000: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b1000000000100000000: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b1001zzzz1zzzzzzzzzz: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b1001zzz10zzzzzzzzzz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b1001zz100zzzzzzzzzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b1001z1000zzzzzzzzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b100110000zzzzzzzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b100100000zzzzzzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b100100000zzzzzzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b100100000zzzzzzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b100100000zzzzzz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b100100000zzzzz10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b100100000zzzz100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b100100000zzz1000000: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b100100000zz10000000: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b100100000z100000000: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b1001000001000000000: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b1010zzz1zzzzzzzzzzz: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b1010zz10zzzzzzzzzzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b1010z100zzzzzzzzzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b10101000zzzzzzzzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b10100000zzzzzzzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b10100000zzzzzzzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b10100000zzzzzzzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b10100000zzzzzzz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b10100000zzzzzz10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b10100000zzzzz100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b10100000zzzz1000000: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b10100000zzz10000000: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b10100000zz100000000: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b10100000z1000000000: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b1010000010000000000: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b1011zz1zzzzzzzzzzzz: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b1011z10zzzzzzzzzzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b1011100zzzzzzzzzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b1011000zzzzzzzzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b1011000zzzzzzzzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b1011000zzzzzzzzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b1011000zzzzzzzz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b1011000zzzzzzz10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b1011000zzzzzz100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b1011000zzzzz1000000: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b1011000zzzz10000000: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b1011000zzz100000000: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b1011000zz1000000000: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b1011000z10000000000: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b1011000100000000000: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b1100z1zzzzzzzzzzzzz: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b110010zzzzzzzzzzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b110000zzzzzzzzzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b110000zzzzzzzzzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b110000zzzzzzzzzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b110000zzzzzzzzz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b110000zzzzzzzz10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b110000zzzzzzz100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b110000zzzzzz1000000: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b110000zzzzz10000000: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b110000zzzz100000000: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b110000zzz1000000000: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b110000zz10000000000: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b110000z100000000000: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b1100001000000000000: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b11011zzzzzzzzzzzzzz: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 19'b11010zzzzzzzzzzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b11010zzzzzzzzzzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b11010zzzzzzzzzzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b11010zzzzzzzzzz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b11010zzzzzzzzz10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b11010zzzzzzzz100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b11010zzzzzzz1000000: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b11010zzzzzz10000000: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b11010zzzzz100000000: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b11010zzzz1000000000: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b11010zzz10000000000: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b11010zz100000000000: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b11010z1000000000000: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b1101010000000000000: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b1110zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 15'b000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 19'b1110zzzzzzzzzzzzz10: begin + sel_one_hot_n = 15'b000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 19'b1110zzzzzzzzzzzz100: begin + sel_one_hot_n = 15'b000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 19'b1110zzzzzzzzzzz1000: begin + sel_one_hot_n = 15'b000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 19'b1110zzzzzzzzzz10000: begin + sel_one_hot_n = 15'b000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 19'b1110zzzzzzzzz100000: begin + sel_one_hot_n = 15'b000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 19'b1110zzzzzzzz1000000: begin + sel_one_hot_n = 15'b000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 19'b1110zzzzzzz10000000: begin + sel_one_hot_n = 15'b000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 19'b1110zzzzzz100000000: begin + sel_one_hot_n = 15'b000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 19'b1110zzzzz1000000000: begin + sel_one_hot_n = 15'b000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 19'b1110zzzz10000000000: begin + sel_one_hot_n = 15'b000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 19'b1110zzz100000000000: begin + sel_one_hot_n = 15'b000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 19'b1110zz1000000000000: begin + sel_one_hot_n = 15'b001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 19'b1110z10000000000000: begin + sel_one_hot_n = 15'b010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 19'b1110100000000000000: begin + sel_one_hot_n = 15'b100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + default: begin + sel_one_hot_n = {15 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {15 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 4'b0000: hold_on_sr = reqs_i == 15'b010000000000000; + 4'b0001: hold_on_sr = reqs_i == 15'b001000000000000; + 4'b0010: hold_on_sr = reqs_i == 15'b000100000000000; + 4'b0011: hold_on_sr = reqs_i == 15'b000010000000000; + 4'b0100: hold_on_sr = reqs_i == 15'b000001000000000; + 4'b0101: hold_on_sr = reqs_i == 15'b000000100000000; + 4'b0110: hold_on_sr = reqs_i == 15'b000000010000000; + 4'b0111: hold_on_sr = reqs_i == 15'b000000001000000; + 4'b1000: hold_on_sr = reqs_i == 15'b000000000100000; + 4'b1001: hold_on_sr = reqs_i == 15'b000000000010000; + 4'b1010: hold_on_sr = reqs_i == 15'b000000000001000; + 4'b1011: hold_on_sr = reqs_i == 15'b000000000000100; + 4'b1100: hold_on_sr = reqs_i == 15'b000000000000010; + 4'b1101: hold_on_sr = reqs_i == 15'b000000000000001; + 4'b1110: hold_on_sr = reqs_i == 15'b100000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_15 + assign reset_on_sr = ((((((((((((((reqs_i == 15'b010000000000000) | (reqs_i == 15'b001000000000000)) | (reqs_i == 15'b000100000000000)) | (reqs_i == 15'b000010000000000)) | (reqs_i == 15'b000001000000000)) | (reqs_i == 15'b000000100000000)) | (reqs_i == 15'b000000010000000)) | (reqs_i == 15'b000000001000000)) | (reqs_i == 15'b000000000100000)) | (reqs_i == 15'b000000000010000)) | (reqs_i == 15'b000000000001000)) | (reqs_i == 15'b000000000000100)) | (reqs_i == 15'b000000000000010)) | (reqs_i == 15'b000000000000001)) | (reqs_i == 15'b100000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 16) begin : inputs_16 + reg [15:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 20'bzzzz0000000000000000: begin + sel_one_hot_n = 16'b0000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b0000zzzzzzzzzzzzzz1z: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b0000zzzzzzzzzzzzz10z: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b0000zzzzzzzzzzzz100z: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b0000zzzzzzzzzzz1000z: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b0000zzzzzzzzzz10000z: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b0000zzzzzzzzz100000z: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b0000zzzzzzzz1000000z: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b0000zzzzzzz10000000z: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b0000zzzzzz100000000z: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b0000zzzzz1000000000z: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b0000zzzz10000000000z: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b0000zzz100000000000z: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b0000zz1000000000000z: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b0000z10000000000000z: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b0000100000000000000z: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b00000000000000000001: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b0001zzzzzzzzzzzzz1zz: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b0001zzzzzzzzzzzz10zz: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b0001zzzzzzzzzzz100zz: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b0001zzzzzzzzzz1000zz: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b0001zzzzzzzzz10000zz: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b0001zzzzzzzz100000zz: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b0001zzzzzzz1000000zz: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b0001zzzzzz10000000zz: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b0001zzzzz100000000zz: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b0001zzzz1000000000zz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b0001zzz10000000000zz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b0001zz100000000000zz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b0001z1000000000000zz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b000110000000000000zz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b000100000000000000z1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b00010000000000000010: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b0010zzzzzzzzzzzz1zzz: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b0010zzzzzzzzzzz10zzz: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b0010zzzzzzzzzz100zzz: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b0010zzzzzzzzz1000zzz: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b0010zzzzzzzz10000zzz: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b0010zzzzzzz100000zzz: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b0010zzzzzz1000000zzz: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b0010zzzzz10000000zzz: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b0010zzzz100000000zzz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b0010zzz1000000000zzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b0010zz10000000000zzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b0010z100000000000zzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b00101000000000000zzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b00100000000000000zz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b00100000000000000z10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b00100000000000000100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b0011zzzzzzzzzzz1zzzz: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b0011zzzzzzzzzz10zzzz: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b0011zzzzzzzzz100zzzz: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b0011zzzzzzzz1000zzzz: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b0011zzzzzzz10000zzzz: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b0011zzzzzz100000zzzz: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b0011zzzzz1000000zzzz: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b0011zzzz10000000zzzz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b0011zzz100000000zzzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b0011zz1000000000zzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b0011z10000000000zzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b0011100000000000zzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b0011000000000000zzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b0011000000000000zz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b0011000000000000z100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b00110000000000001000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b0100zzzzzzzzzz1zzzzz: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b0100zzzzzzzzz10zzzzz: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b0100zzzzzzzz100zzzzz: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b0100zzzzzzz1000zzzzz: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b0100zzzzzz10000zzzzz: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b0100zzzzz100000zzzzz: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b0100zzzz1000000zzzzz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b0100zzz10000000zzzzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b0100zz100000000zzzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b0100z1000000000zzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b010010000000000zzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b010000000000000zzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b010000000000000zzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b010000000000000zz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b010000000000000z1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b01000000000000010000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b0101zzzzzzzzz1zzzzzz: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b0101zzzzzzzz10zzzzzz: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b0101zzzzzzz100zzzzzz: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b0101zzzzzz1000zzzzzz: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b0101zzzzz10000zzzzzz: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b0101zzzz100000zzzzzz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b0101zzz1000000zzzzzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b0101zz10000000zzzzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b0101z100000000zzzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b01011000000000zzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b01010000000000zzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b01010000000000zzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b01010000000000zzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b01010000000000zz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b01010000000000z10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b01010000000000100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b0110zzzzzzzz1zzzzzzz: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b0110zzzzzzz10zzzzzzz: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b0110zzzzzz100zzzzzzz: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b0110zzzzz1000zzzzzzz: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b0110zzzz10000zzzzzzz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b0110zzz100000zzzzzzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b0110zz1000000zzzzzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b0110z10000000zzzzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b0110100000000zzzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b0110000000000zzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b0110000000000zzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b0110000000000zzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b0110000000000zzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b0110000000000zz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b0110000000000z100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b01100000000001000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b0111zzzzzzz1zzzzzzzz: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b0111zzzzzz10zzzzzzzz: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b0111zzzzz100zzzzzzzz: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b0111zzzz1000zzzzzzzz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b0111zzz10000zzzzzzzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b0111zz100000zzzzzzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b0111z1000000zzzzzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b011110000000zzzzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b011100000000zzzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b011100000000zzzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b011100000000zzzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b011100000000zzzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b011100000000zzz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b011100000000zz100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b011100000000z1000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b01110000000010000000: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b1000zzzzzz1zzzzzzzzz: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b1000zzzzz10zzzzzzzzz: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b1000zzzz100zzzzzzzzz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b1000zzz1000zzzzzzzzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b1000zz10000zzzzzzzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b1000z100000zzzzzzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b10001000000zzzzzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b10000000000zzzzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b10000000000zzzzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b10000000000zzzzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b10000000000zzzzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b10000000000zzzz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b10000000000zzz100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b10000000000zz1000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b10000000000z10000000: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b10000000000100000000: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b1001zzzzz1zzzzzzzzzz: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b1001zzzz10zzzzzzzzzz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b1001zzz100zzzzzzzzzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b1001zz1000zzzzzzzzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b1001z10000zzzzzzzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b1001100000zzzzzzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b1001000000zzzzzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b1001000000zzzzzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b1001000000zzzzzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b1001000000zzzzzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b1001000000zzzzz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b1001000000zzzz100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b1001000000zzz1000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b1001000000zz10000000: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b1001000000z100000000: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b10010000001000000000: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b1010zzzz1zzzzzzzzzzz: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b1010zzz10zzzzzzzzzzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b1010zz100zzzzzzzzzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b1010z1000zzzzzzzzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b101010000zzzzzzzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b101000000zzzzzzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b101000000zzzzzzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b101000000zzzzzzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b101000000zzzzzzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b101000000zzzzzz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b101000000zzzzz100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b101000000zzzz1000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b101000000zzz10000000: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b101000000zz100000000: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b101000000z1000000000: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b10100000010000000000: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b1011zzz1zzzzzzzzzzzz: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b1011zz10zzzzzzzzzzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b1011z100zzzzzzzzzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b10111000zzzzzzzzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b10110000zzzzzzzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b10110000zzzzzzzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b10110000zzzzzzzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b10110000zzzzzzzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b10110000zzzzzzz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b10110000zzzzzz100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b10110000zzzzz1000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b10110000zzzz10000000: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b10110000zzz100000000: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b10110000zz1000000000: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b10110000z10000000000: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b10110000100000000000: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b1100zz1zzzzzzzzzzzzz: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b1100z10zzzzzzzzzzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b1100100zzzzzzzzzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b1100000zzzzzzzzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b1100000zzzzzzzzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b1100000zzzzzzzzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b1100000zzzzzzzzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b1100000zzzzzzzz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b1100000zzzzzzz100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b1100000zzzzzz1000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b1100000zzzzz10000000: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b1100000zzzz100000000: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b1100000zzz1000000000: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b1100000zz10000000000: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b1100000z100000000000: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b11000001000000000000: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b1101z1zzzzzzzzzzzzzz: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b110110zzzzzzzzzzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b110100zzzzzzzzzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b110100zzzzzzzzzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b110100zzzzzzzzzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b110100zzzzzzzzzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b110100zzzzzzzzz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b110100zzzzzzzz100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b110100zzzzzzz1000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b110100zzzzzz10000000: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b110100zzzzz100000000: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b110100zzzz1000000000: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b110100zzz10000000000: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b110100zz100000000000: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b110100z1000000000000: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b11010010000000000000: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b11101zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 20'b11100zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b11100zzzzzzzzzzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b11100zzzzzzzzzzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b11100zzzzzzzzzzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b11100zzzzzzzzzz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b11100zzzzzzzzz100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b11100zzzzzzzz1000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b11100zzzzzzz10000000: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b11100zzzzzz100000000: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b11100zzzzz1000000000: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b11100zzzz10000000000: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b11100zzz100000000000: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b11100zz1000000000000: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b11100z10000000000000: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b11100100000000000000: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b1111zzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 16'b0000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 20'b1111zzzzzzzzzzzzzz10: begin + sel_one_hot_n = 16'b0000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 20'b1111zzzzzzzzzzzzz100: begin + sel_one_hot_n = 16'b0000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 20'b1111zzzzzzzzzzzz1000: begin + sel_one_hot_n = 16'b0000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 20'b1111zzzzzzzzzzz10000: begin + sel_one_hot_n = 16'b0000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 20'b1111zzzzzzzzzz100000: begin + sel_one_hot_n = 16'b0000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 20'b1111zzzzzzzzz1000000: begin + sel_one_hot_n = 16'b0000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 20'b1111zzzzzzzz10000000: begin + sel_one_hot_n = 16'b0000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 20'b1111zzzzzzz100000000: begin + sel_one_hot_n = 16'b0000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 20'b1111zzzzzz1000000000: begin + sel_one_hot_n = 16'b0000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 20'b1111zzzzz10000000000: begin + sel_one_hot_n = 16'b0000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 20'b1111zzzz100000000000: begin + sel_one_hot_n = 16'b0000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 20'b1111zzz1000000000000: begin + sel_one_hot_n = 16'b0001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 20'b1111zz10000000000000: begin + sel_one_hot_n = 16'b0010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 20'b1111z100000000000000: begin + sel_one_hot_n = 16'b0100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 20'b11111000000000000000: begin + sel_one_hot_n = 16'b1000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + default: begin + sel_one_hot_n = {16 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {16 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 4'b0000: hold_on_sr = reqs_i == 16'b0100000000000000; + 4'b0001: hold_on_sr = reqs_i == 16'b0010000000000000; + 4'b0010: hold_on_sr = reqs_i == 16'b0001000000000000; + 4'b0011: hold_on_sr = reqs_i == 16'b0000100000000000; + 4'b0100: hold_on_sr = reqs_i == 16'b0000010000000000; + 4'b0101: hold_on_sr = reqs_i == 16'b0000001000000000; + 4'b0110: hold_on_sr = reqs_i == 16'b0000000100000000; + 4'b0111: hold_on_sr = reqs_i == 16'b0000000010000000; + 4'b1000: hold_on_sr = reqs_i == 16'b0000000001000000; + 4'b1001: hold_on_sr = reqs_i == 16'b0000000000100000; + 4'b1010: hold_on_sr = reqs_i == 16'b0000000000010000; + 4'b1011: hold_on_sr = reqs_i == 16'b0000000000001000; + 4'b1100: hold_on_sr = reqs_i == 16'b0000000000000100; + 4'b1101: hold_on_sr = reqs_i == 16'b0000000000000010; + 4'b1110: hold_on_sr = reqs_i == 16'b0000000000000001; + default: hold_on_sr = reqs_i == 16'b1000000000000000; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_16 + assign reset_on_sr = (((((((((((((((reqs_i == 16'b0100000000000000) | (reqs_i == 16'b0010000000000000)) | (reqs_i == 16'b0001000000000000)) | (reqs_i == 16'b0000100000000000)) | (reqs_i == 16'b0000010000000000)) | (reqs_i == 16'b0000001000000000)) | (reqs_i == 16'b0000000100000000)) | (reqs_i == 16'b0000000010000000)) | (reqs_i == 16'b0000000001000000)) | (reqs_i == 16'b0000000000100000)) | (reqs_i == 16'b0000000000010000)) | (reqs_i == 16'b0000000000001000)) | (reqs_i == 16'b0000000000000100)) | (reqs_i == 16'b0000000000000010)) | (reqs_i == 16'b0000000000000001)) | (reqs_i == 16'b1000000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 17) begin : inputs_17 + reg [16:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 22'bzzzzz00000000000000000: begin + sel_one_hot_n = 17'b00000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b00000zzzzzzzzzzzzzzz1z: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b00000zzzzzzzzzzzzzz10z: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b00000zzzzzzzzzzzzz100z: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b00000zzzzzzzzzzzz1000z: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b00000zzzzzzzzzzz10000z: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b00000zzzzzzzzzz100000z: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b00000zzzzzzzzz1000000z: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b00000zzzzzzzz10000000z: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b00000zzzzzzz100000000z: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b00000zzzzzz1000000000z: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b00000zzzzz10000000000z: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b00000zzzz100000000000z: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b00000zzz1000000000000z: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b00000zz10000000000000z: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b00000z100000000000000z: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b000001000000000000000z: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b0000000000000000000001: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b00001zzzzzzzzzzzzzz1zz: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b00001zzzzzzzzzzzzz10zz: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b00001zzzzzzzzzzzz100zz: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b00001zzzzzzzzzzz1000zz: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b00001zzzzzzzzzz10000zz: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b00001zzzzzzzzz100000zz: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b00001zzzzzzzz1000000zz: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b00001zzzzzzz10000000zz: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b00001zzzzzz100000000zz: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b00001zzzzz1000000000zz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b00001zzzz10000000000zz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b00001zzz100000000000zz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b00001zz1000000000000zz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b00001z10000000000000zz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b00001100000000000000zz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b00001000000000000000z1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b0000100000000000000010: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b00010zzzzzzzzzzzzz1zzz: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b00010zzzzzzzzzzzz10zzz: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b00010zzzzzzzzzzz100zzz: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b00010zzzzzzzzzz1000zzz: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b00010zzzzzzzzz10000zzz: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b00010zzzzzzzz100000zzz: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b00010zzzzzzz1000000zzz: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b00010zzzzzz10000000zzz: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b00010zzzzz100000000zzz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b00010zzzz1000000000zzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b00010zzz10000000000zzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b00010zz100000000000zzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b00010z1000000000000zzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b0001010000000000000zzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b0001000000000000000zz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b0001000000000000000z10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b0001000000000000000100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b00011zzzzzzzzzzzz1zzzz: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b00011zzzzzzzzzzz10zzzz: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b00011zzzzzzzzzz100zzzz: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b00011zzzzzzzzz1000zzzz: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b00011zzzzzzzz10000zzzz: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b00011zzzzzzz100000zzzz: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b00011zzzzzz1000000zzzz: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b00011zzzzz10000000zzzz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b00011zzzz100000000zzzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b00011zzz1000000000zzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b00011zz10000000000zzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b00011z100000000000zzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b000111000000000000zzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b000110000000000000zzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b000110000000000000zz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b000110000000000000z100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b0001100000000000001000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b00100zzzzzzzzzzz1zzzzz: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b00100zzzzzzzzzz10zzzzz: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b00100zzzzzzzzz100zzzzz: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b00100zzzzzzzz1000zzzzz: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b00100zzzzzzz10000zzzzz: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b00100zzzzzz100000zzzzz: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b00100zzzzz1000000zzzzz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b00100zzzz10000000zzzzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b00100zzz100000000zzzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b00100zz1000000000zzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b00100z10000000000zzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b00100100000000000zzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b00100000000000000zzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b00100000000000000zzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b00100000000000000zz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b00100000000000000z1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b0010000000000000010000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b00101zzzzzzzzzz1zzzzzz: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b00101zzzzzzzzz10zzzzzz: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b00101zzzzzzzz100zzzzzz: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b00101zzzzzzz1000zzzzzz: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b00101zzzzzz10000zzzzzz: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b00101zzzzz100000zzzzzz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b00101zzzz1000000zzzzzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b00101zzz10000000zzzzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b00101zz100000000zzzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b00101z1000000000zzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b0010110000000000zzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b0010100000000000zzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b0010100000000000zzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b0010100000000000zzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b0010100000000000zz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b0010100000000000z10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b0010100000000000100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b00110zzzzzzzzz1zzzzzzz: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b00110zzzzzzzz10zzzzzzz: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b00110zzzzzzz100zzzzzzz: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b00110zzzzzz1000zzzzzzz: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b00110zzzzz10000zzzzzzz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b00110zzzz100000zzzzzzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b00110zzz1000000zzzzzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b00110zz10000000zzzzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b00110z100000000zzzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b001101000000000zzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b001100000000000zzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b001100000000000zzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b001100000000000zzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b001100000000000zzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b001100000000000zz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b001100000000000z100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b0011000000000001000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b00111zzzzzzzz1zzzzzzzz: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b00111zzzzzzz10zzzzzzzz: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b00111zzzzzz100zzzzzzzz: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b00111zzzzz1000zzzzzzzz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b00111zzzz10000zzzzzzzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b00111zzz100000zzzzzzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b00111zz1000000zzzzzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b00111z10000000zzzzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b00111100000000zzzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b00111000000000zzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b00111000000000zzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b00111000000000zzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b00111000000000zzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b00111000000000zzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b00111000000000zz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b00111000000000z1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b0011100000000010000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b01000zzzzzzz1zzzzzzzzz: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b01000zzzzzz10zzzzzzzzz: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b01000zzzzz100zzzzzzzzz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b01000zzzz1000zzzzzzzzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b01000zzz10000zzzzzzzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b01000zz100000zzzzzzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b01000z1000000zzzzzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b0100010000000zzzzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b0100000000000zzzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b0100000000000zzzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b0100000000000zzzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b0100000000000zzzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b0100000000000zzzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b0100000000000zzz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b0100000000000zz1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b0100000000000z10000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b0100000000000100000000: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b01001zzzzzz1zzzzzzzzzz: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b01001zzzzz10zzzzzzzzzz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b01001zzzz100zzzzzzzzzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b01001zzz1000zzzzzzzzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b01001zz10000zzzzzzzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b01001z100000zzzzzzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b010011000000zzzzzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b010010000000zzzzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b010010000000zzzzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b010010000000zzzzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b010010000000zzzzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b010010000000zzzzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b010010000000zzzz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b010010000000zzz1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b010010000000zz10000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b010010000000z100000000: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b0100100000001000000000: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b01010zzzzz1zzzzzzzzzzz: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b01010zzzz10zzzzzzzzzzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b01010zzz100zzzzzzzzzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b01010zz1000zzzzzzzzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b01010z10000zzzzzzzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b01010100000zzzzzzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b01010000000zzzzzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b01010000000zzzzzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b01010000000zzzzzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b01010000000zzzzzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b01010000000zzzzzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b01010000000zzzzz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b01010000000zzzz1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b01010000000zzz10000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b01010000000zz100000000: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b01010000000z1000000000: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b0101000000010000000000: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b01011zzzz1zzzzzzzzzzzz: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b01011zzz10zzzzzzzzzzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b01011zz100zzzzzzzzzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b01011z1000zzzzzzzzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b0101110000zzzzzzzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b0101100000zzzzzzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b0101100000zzzzzzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b0101100000zzzzzzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b0101100000zzzzzzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b0101100000zzzzzzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b0101100000zzzzzz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b0101100000zzzzz1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b0101100000zzzz10000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b0101100000zzz100000000: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b0101100000zz1000000000: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b0101100000z10000000000: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b0101100000100000000000: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b01100zzz1zzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b01100zz10zzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b01100z100zzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b011001000zzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b011000000zzzzzzzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b011000000zzzzzzzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b011000000zzzzzzzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b011000000zzzzzzzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b011000000zzzzzzzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b011000000zzzzzzz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b011000000zzzzzz1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b011000000zzzzz10000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b011000000zzzz100000000: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b011000000zzz1000000000: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b011000000zz10000000000: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b011000000z100000000000: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b0110000001000000000000: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b01101zz1zzzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b01101z10zzzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b01101100zzzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b01101000zzzzzzzzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b01101000zzzzzzzzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b01101000zzzzzzzzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b01101000zzzzzzzzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b01101000zzzzzzzzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b01101000zzzzzzzz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b01101000zzzzzzz1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b01101000zzzzzz10000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b01101000zzzzz100000000: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b01101000zzzz1000000000: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b01101000zzz10000000000: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b01101000zz100000000000: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b01101000z1000000000000: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b0110100010000000000000: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b01110z1zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b0111010zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b0111000zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b0111000zzzzzzzzzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b0111000zzzzzzzzzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b0111000zzzzzzzzzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b0111000zzzzzzzzzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b0111000zzzzzzzzz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b0111000zzzzzzzz1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b0111000zzzzzzz10000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b0111000zzzzzz100000000: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b0111000zzzzz1000000000: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b0111000zzzz10000000000: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b0111000zzz100000000000: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b0111000zz1000000000000: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b0111000z10000000000000: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b0111000100000000000000: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b011111zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 22'b011110zzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b011110zzzzzzzzzzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b011110zzzzzzzzzzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b011110zzzzzzzzzzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b011110zzzzzzzzzzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b011110zzzzzzzzzz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b011110zzzzzzzzz1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b011110zzzzzzzz10000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b011110zzzzzzz100000000: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b011110zzzzzz1000000000: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b011110zzzzz10000000000: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b011110zzzz100000000000: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b011110zzz1000000000000: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b011110zz10000000000000: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b011110z100000000000000: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b0111101000000000000000: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b10000zzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 17'b00000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 22'b10000zzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 17'b00000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 22'b10000zzzzzzzzzzzzzz100: begin + sel_one_hot_n = 17'b00000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 22'b10000zzzzzzzzzzzzz1000: begin + sel_one_hot_n = 17'b00000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 22'b10000zzzzzzzzzzzz10000: begin + sel_one_hot_n = 17'b00000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 22'b10000zzzzzzzzzzz100000: begin + sel_one_hot_n = 17'b00000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 22'b10000zzzzzzzzzz1000000: begin + sel_one_hot_n = 17'b00000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 22'b10000zzzzzzzzz10000000: begin + sel_one_hot_n = 17'b00000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 22'b10000zzzzzzzz100000000: begin + sel_one_hot_n = 17'b00000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 22'b10000zzzzzzz1000000000: begin + sel_one_hot_n = 17'b00000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 22'b10000zzzzzz10000000000: begin + sel_one_hot_n = 17'b00000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 22'b10000zzzzz100000000000: begin + sel_one_hot_n = 17'b00000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 22'b10000zzzz1000000000000: begin + sel_one_hot_n = 17'b00001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 22'b10000zzz10000000000000: begin + sel_one_hot_n = 17'b00010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 22'b10000zz100000000000000: begin + sel_one_hot_n = 17'b00100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 22'b10000z1000000000000000: begin + sel_one_hot_n = 17'b01000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 22'b1000010000000000000000: begin + sel_one_hot_n = 17'b10000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + default: begin + sel_one_hot_n = {17 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {17 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 5'b00000: hold_on_sr = reqs_i == 17'b01000000000000000; + 5'b00001: hold_on_sr = reqs_i == 17'b00100000000000000; + 5'b00010: hold_on_sr = reqs_i == 17'b00010000000000000; + 5'b00011: hold_on_sr = reqs_i == 17'b00001000000000000; + 5'b00100: hold_on_sr = reqs_i == 17'b00000100000000000; + 5'b00101: hold_on_sr = reqs_i == 17'b00000010000000000; + 5'b00110: hold_on_sr = reqs_i == 17'b00000001000000000; + 5'b00111: hold_on_sr = reqs_i == 17'b00000000100000000; + 5'b01000: hold_on_sr = reqs_i == 17'b00000000010000000; + 5'b01001: hold_on_sr = reqs_i == 17'b00000000001000000; + 5'b01010: hold_on_sr = reqs_i == 17'b00000000000100000; + 5'b01011: hold_on_sr = reqs_i == 17'b00000000000010000; + 5'b01100: hold_on_sr = reqs_i == 17'b00000000000001000; + 5'b01101: hold_on_sr = reqs_i == 17'b00000000000000100; + 5'b01110: hold_on_sr = reqs_i == 17'b00000000000000010; + 5'b01111: hold_on_sr = reqs_i == 17'b00000000000000001; + 5'b10000: hold_on_sr = reqs_i == 17'b10000000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_17 + assign reset_on_sr = ((((((((((((((((reqs_i == 17'b01000000000000000) | (reqs_i == 17'b00100000000000000)) | (reqs_i == 17'b00010000000000000)) | (reqs_i == 17'b00001000000000000)) | (reqs_i == 17'b00000100000000000)) | (reqs_i == 17'b00000010000000000)) | (reqs_i == 17'b00000001000000000)) | (reqs_i == 17'b00000000100000000)) | (reqs_i == 17'b00000000010000000)) | (reqs_i == 17'b00000000001000000)) | (reqs_i == 17'b00000000000100000)) | (reqs_i == 17'b00000000000010000)) | (reqs_i == 17'b00000000000001000)) | (reqs_i == 17'b00000000000000100)) | (reqs_i == 17'b00000000000000010)) | (reqs_i == 17'b00000000000000001)) | (reqs_i == 17'b10000000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 18) begin : inputs_18 + reg [17:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 23'bzzzzz000000000000000000: begin + sel_one_hot_n = 18'b000000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b00000zzzzzzzzzzzzzzzz1z: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b00000zzzzzzzzzzzzzzz10z: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b00000zzzzzzzzzzzzzz100z: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b00000zzzzzzzzzzzzz1000z: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b00000zzzzzzzzzzzz10000z: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b00000zzzzzzzzzzz100000z: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b00000zzzzzzzzzz1000000z: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b00000zzzzzzzzz10000000z: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b00000zzzzzzzz100000000z: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b00000zzzzzzz1000000000z: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b00000zzzzzz10000000000z: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b00000zzzzz100000000000z: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b00000zzzz1000000000000z: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b00000zzz10000000000000z: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b00000zz100000000000000z: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b00000z1000000000000000z: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b0000010000000000000000z: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b00000000000000000000001: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b00001zzzzzzzzzzzzzzz1zz: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b00001zzzzzzzzzzzzzz10zz: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b00001zzzzzzzzzzzzz100zz: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b00001zzzzzzzzzzzz1000zz: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b00001zzzzzzzzzzz10000zz: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b00001zzzzzzzzzz100000zz: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b00001zzzzzzzzz1000000zz: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b00001zzzzzzzz10000000zz: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b00001zzzzzzz100000000zz: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b00001zzzzzz1000000000zz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b00001zzzzz10000000000zz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b00001zzzz100000000000zz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b00001zzz1000000000000zz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b00001zz10000000000000zz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b00001z100000000000000zz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b000011000000000000000zz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b000010000000000000000z1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b00001000000000000000010: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b00010zzzzzzzzzzzzzz1zzz: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b00010zzzzzzzzzzzzz10zzz: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b00010zzzzzzzzzzzz100zzz: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b00010zzzzzzzzzzz1000zzz: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b00010zzzzzzzzzz10000zzz: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b00010zzzzzzzzz100000zzz: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b00010zzzzzzzz1000000zzz: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b00010zzzzzzz10000000zzz: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b00010zzzzzz100000000zzz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b00010zzzzz1000000000zzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b00010zzzz10000000000zzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b00010zzz100000000000zzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b00010zz1000000000000zzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b00010z10000000000000zzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b00010100000000000000zzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b00010000000000000000zz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b00010000000000000000z10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b00010000000000000000100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b00011zzzzzzzzzzzzz1zzzz: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b00011zzzzzzzzzzzz10zzzz: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b00011zzzzzzzzzzz100zzzz: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b00011zzzzzzzzzz1000zzzz: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b00011zzzzzzzzz10000zzzz: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b00011zzzzzzzz100000zzzz: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b00011zzzzzzz1000000zzzz: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b00011zzzzzz10000000zzzz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b00011zzzzz100000000zzzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b00011zzzz1000000000zzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b00011zzz10000000000zzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b00011zz100000000000zzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b00011z1000000000000zzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b0001110000000000000zzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b0001100000000000000zzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b0001100000000000000zz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b0001100000000000000z100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b00011000000000000001000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b00100zzzzzzzzzzzz1zzzzz: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b00100zzzzzzzzzzz10zzzzz: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b00100zzzzzzzzzz100zzzzz: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b00100zzzzzzzzz1000zzzzz: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b00100zzzzzzzz10000zzzzz: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b00100zzzzzzz100000zzzzz: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b00100zzzzzz1000000zzzzz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b00100zzzzz10000000zzzzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b00100zzzz100000000zzzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b00100zzz1000000000zzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b00100zz10000000000zzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b00100z100000000000zzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b001001000000000000zzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b001000000000000000zzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b001000000000000000zzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b001000000000000000zz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b001000000000000000z1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b00100000000000000010000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b00101zzzzzzzzzzz1zzzzzz: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b00101zzzzzzzzzz10zzzzzz: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b00101zzzzzzzzz100zzzzzz: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b00101zzzzzzzz1000zzzzzz: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b00101zzzzzzz10000zzzzzz: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b00101zzzzzz100000zzzzzz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b00101zzzzz1000000zzzzzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b00101zzzz10000000zzzzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b00101zzz100000000zzzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b00101zz1000000000zzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b00101z10000000000zzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b00101100000000000zzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b00101000000000000zzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b00101000000000000zzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b00101000000000000zzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b00101000000000000zz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b00101000000000000z10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b00101000000000000100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b00110zzzzzzzzzz1zzzzzzz: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b00110zzzzzzzzz10zzzzzzz: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b00110zzzzzzzz100zzzzzzz: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b00110zzzzzzz1000zzzzzzz: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b00110zzzzzz10000zzzzzzz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b00110zzzzz100000zzzzzzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b00110zzzz1000000zzzzzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b00110zzz10000000zzzzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b00110zz100000000zzzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b00110z1000000000zzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b0011010000000000zzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b0011000000000000zzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b0011000000000000zzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b0011000000000000zzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b0011000000000000zzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b0011000000000000zz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b0011000000000000z100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b00110000000000001000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b00111zzzzzzzzz1zzzzzzzz: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b00111zzzzzzzz10zzzzzzzz: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b00111zzzzzzz100zzzzzzzz: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b00111zzzzzz1000zzzzzzzz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b00111zzzzz10000zzzzzzzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b00111zzzz100000zzzzzzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b00111zzz1000000zzzzzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b00111zz10000000zzzzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b00111z100000000zzzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b001111000000000zzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b001110000000000zzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b001110000000000zzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b001110000000000zzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b001110000000000zzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b001110000000000zzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b001110000000000zz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b001110000000000z1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b00111000000000010000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b01000zzzzzzzz1zzzzzzzzz: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b01000zzzzzzz10zzzzzzzzz: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b01000zzzzzz100zzzzzzzzz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b01000zzzzz1000zzzzzzzzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b01000zzzz10000zzzzzzzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b01000zzz100000zzzzzzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b01000zz1000000zzzzzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b01000z10000000zzzzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b01000100000000zzzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b01000000000000zzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b01000000000000zzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b01000000000000zzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b01000000000000zzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b01000000000000zzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b01000000000000zzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b01000000000000zz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b01000000000000z10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b01000000000000100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b01001zzzzzzz1zzzzzzzzzz: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b01001zzzzzz10zzzzzzzzzz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b01001zzzzz100zzzzzzzzzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b01001zzzz1000zzzzzzzzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b01001zzz10000zzzzzzzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b01001zz100000zzzzzzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b01001z1000000zzzzzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b0100110000000zzzzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b0100100000000zzzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b0100100000000zzzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b0100100000000zzzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b0100100000000zzzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b0100100000000zzzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b0100100000000zzzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b0100100000000zzz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b0100100000000zz10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b0100100000000z100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b01001000000001000000000: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b01010zzzzzz1zzzzzzzzzzz: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b01010zzzzz10zzzzzzzzzzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b01010zzzz100zzzzzzzzzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b01010zzz1000zzzzzzzzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b01010zz10000zzzzzzzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b01010z100000zzzzzzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b010101000000zzzzzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b010100000000zzzzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b010100000000zzzzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b010100000000zzzzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b010100000000zzzzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b010100000000zzzzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b010100000000zzzzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b010100000000zzzz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b010100000000zzz10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b010100000000zz100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b010100000000z1000000000: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b01010000000010000000000: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b01011zzzzz1zzzzzzzzzzzz: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b01011zzzz10zzzzzzzzzzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b01011zzz100zzzzzzzzzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b01011zz1000zzzzzzzzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b01011z10000zzzzzzzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b01011100000zzzzzzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b01011000000zzzzzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b01011000000zzzzzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b01011000000zzzzzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b01011000000zzzzzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b01011000000zzzzzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b01011000000zzzzzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b01011000000zzzzz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b01011000000zzzz10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b01011000000zzz100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b01011000000zz1000000000: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b01011000000z10000000000: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b01011000000100000000000: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b01100zzzz1zzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b01100zzz10zzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b01100zz100zzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b01100z1000zzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b0110010000zzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b0110000000zzzzzzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b0110000000zzzzzzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b0110000000zzzzzzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b0110000000zzzzzzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b0110000000zzzzzzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b0110000000zzzzzzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b0110000000zzzzzz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b0110000000zzzzz10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b0110000000zzzz100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b0110000000zzz1000000000: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b0110000000zz10000000000: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b0110000000z100000000000: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b01100000001000000000000: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b01101zzz1zzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b01101zz10zzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b01101z100zzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b011011000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b011010000zzzzzzzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b011010000zzzzzzzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b011010000zzzzzzzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b011010000zzzzzzzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b011010000zzzzzzzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b011010000zzzzzzzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b011010000zzzzzzz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b011010000zzzzzz10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b011010000zzzzz100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b011010000zzzz1000000000: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b011010000zzz10000000000: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b011010000zz100000000000: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b011010000z1000000000000: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b01101000010000000000000: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b01110zz1zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b01110z10zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b01110100zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b01110000zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b01110000zzzzzzzzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b01110000zzzzzzzzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b01110000zzzzzzzzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b01110000zzzzzzzzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b01110000zzzzzzzzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b01110000zzzzzzzz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b01110000zzzzzzz10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b01110000zzzzzz100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b01110000zzzzz1000000000: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b01110000zzzz10000000000: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b01110000zzz100000000000: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b01110000zz1000000000000: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b01110000z10000000000000: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b01110000100000000000000: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b01111z1zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b0111110zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b0111100zzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b0111100zzzzzzzzzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b0111100zzzzzzzzzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b0111100zzzzzzzzzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b0111100zzzzzzzzzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b0111100zzzzzzzzzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b0111100zzzzzzzzz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b0111100zzzzzzzz10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b0111100zzzzzzz100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b0111100zzzzzz1000000000: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b0111100zzzzz10000000000: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b0111100zzzz100000000000: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b0111100zzz1000000000000: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b0111100zz10000000000000: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b0111100z100000000000000: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b01111001000000000000000: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b100001zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 23'b100000zzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b100000zzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b100000zzzzzzzzzzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b100000zzzzzzzzzzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b100000zzzzzzzzzzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b100000zzzzzzzzzzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b100000zzzzzzzzzz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b100000zzzzzzzzz10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b100000zzzzzzzz100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b100000zzzzzzz1000000000: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b100000zzzzzz10000000000: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b100000zzzzz100000000000: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b100000zzzz1000000000000: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b100000zzz10000000000000: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b100000zz100000000000000: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b100000z1000000000000000: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b10000010000000000000000: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b10001zzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 18'b000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 23'b10001zzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 18'b000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 23'b10001zzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 18'b000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 23'b10001zzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 18'b000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 23'b10001zzzzzzzzzzzzz10000: begin + sel_one_hot_n = 18'b000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 23'b10001zzzzzzzzzzzz100000: begin + sel_one_hot_n = 18'b000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 23'b10001zzzzzzzzzzz1000000: begin + sel_one_hot_n = 18'b000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 23'b10001zzzzzzzzzz10000000: begin + sel_one_hot_n = 18'b000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 23'b10001zzzzzzzzz100000000: begin + sel_one_hot_n = 18'b000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 23'b10001zzzzzzzz1000000000: begin + sel_one_hot_n = 18'b000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 23'b10001zzzzzzz10000000000: begin + sel_one_hot_n = 18'b000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 23'b10001zzzzzz100000000000: begin + sel_one_hot_n = 18'b000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 23'b10001zzzzz1000000000000: begin + sel_one_hot_n = 18'b000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 23'b10001zzzz10000000000000: begin + sel_one_hot_n = 18'b000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 23'b10001zzz100000000000000: begin + sel_one_hot_n = 18'b000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 23'b10001zz1000000000000000: begin + sel_one_hot_n = 18'b001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 23'b10001z10000000000000000: begin + sel_one_hot_n = 18'b010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 23'b10001100000000000000000: begin + sel_one_hot_n = 18'b100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + default: begin + sel_one_hot_n = {18 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {18 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 5'b00000: hold_on_sr = reqs_i == 18'b010000000000000000; + 5'b00001: hold_on_sr = reqs_i == 18'b001000000000000000; + 5'b00010: hold_on_sr = reqs_i == 18'b000100000000000000; + 5'b00011: hold_on_sr = reqs_i == 18'b000010000000000000; + 5'b00100: hold_on_sr = reqs_i == 18'b000001000000000000; + 5'b00101: hold_on_sr = reqs_i == 18'b000000100000000000; + 5'b00110: hold_on_sr = reqs_i == 18'b000000010000000000; + 5'b00111: hold_on_sr = reqs_i == 18'b000000001000000000; + 5'b01000: hold_on_sr = reqs_i == 18'b000000000100000000; + 5'b01001: hold_on_sr = reqs_i == 18'b000000000010000000; + 5'b01010: hold_on_sr = reqs_i == 18'b000000000001000000; + 5'b01011: hold_on_sr = reqs_i == 18'b000000000000100000; + 5'b01100: hold_on_sr = reqs_i == 18'b000000000000010000; + 5'b01101: hold_on_sr = reqs_i == 18'b000000000000001000; + 5'b01110: hold_on_sr = reqs_i == 18'b000000000000000100; + 5'b01111: hold_on_sr = reqs_i == 18'b000000000000000010; + 5'b10000: hold_on_sr = reqs_i == 18'b000000000000000001; + 5'b10001: hold_on_sr = reqs_i == 18'b100000000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_18 + assign reset_on_sr = (((((((((((((((((reqs_i == 18'b010000000000000000) | (reqs_i == 18'b001000000000000000)) | (reqs_i == 18'b000100000000000000)) | (reqs_i == 18'b000010000000000000)) | (reqs_i == 18'b000001000000000000)) | (reqs_i == 18'b000000100000000000)) | (reqs_i == 18'b000000010000000000)) | (reqs_i == 18'b000000001000000000)) | (reqs_i == 18'b000000000100000000)) | (reqs_i == 18'b000000000010000000)) | (reqs_i == 18'b000000000001000000)) | (reqs_i == 18'b000000000000100000)) | (reqs_i == 18'b000000000000010000)) | (reqs_i == 18'b000000000000001000)) | (reqs_i == 18'b000000000000000100)) | (reqs_i == 18'b000000000000000010)) | (reqs_i == 18'b000000000000000001)) | (reqs_i == 18'b100000000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 19) begin : inputs_19 + reg [18:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 24'bzzzzz0000000000000000000: begin + sel_one_hot_n = 19'b0000000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b00000zzzzzzzzzzzzzzzzz1z: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b00000zzzzzzzzzzzzzzzz10z: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b00000zzzzzzzzzzzzzzz100z: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b00000zzzzzzzzzzzzzz1000z: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b00000zzzzzzzzzzzzz10000z: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b00000zzzzzzzzzzzz100000z: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b00000zzzzzzzzzzz1000000z: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b00000zzzzzzzzzz10000000z: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b00000zzzzzzzzz100000000z: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b00000zzzzzzzz1000000000z: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b00000zzzzzzz10000000000z: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b00000zzzzzz100000000000z: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b00000zzzzz1000000000000z: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b00000zzzz10000000000000z: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b00000zzz100000000000000z: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b00000zz1000000000000000z: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b00000z10000000000000000z: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b00000100000000000000000z: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b000000000000000000000001: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b00001zzzzzzzzzzzzzzzz1zz: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b00001zzzzzzzzzzzzzzz10zz: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b00001zzzzzzzzzzzzzz100zz: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b00001zzzzzzzzzzzzz1000zz: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b00001zzzzzzzzzzzz10000zz: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b00001zzzzzzzzzzz100000zz: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b00001zzzzzzzzzz1000000zz: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b00001zzzzzzzzz10000000zz: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b00001zzzzzzzz100000000zz: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b00001zzzzzzz1000000000zz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b00001zzzzzz10000000000zz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b00001zzzzz100000000000zz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b00001zzzz1000000000000zz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b00001zzz10000000000000zz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b00001zz100000000000000zz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b00001z1000000000000000zz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b0000110000000000000000zz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b0000100000000000000000z1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b000010000000000000000010: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b00010zzzzzzzzzzzzzzz1zzz: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b00010zzzzzzzzzzzzzz10zzz: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b00010zzzzzzzzzzzzz100zzz: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b00010zzzzzzzzzzzz1000zzz: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b00010zzzzzzzzzzz10000zzz: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b00010zzzzzzzzzz100000zzz: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b00010zzzzzzzzz1000000zzz: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b00010zzzzzzzz10000000zzz: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b00010zzzzzzz100000000zzz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b00010zzzzzz1000000000zzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b00010zzzzz10000000000zzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b00010zzzz100000000000zzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b00010zzz1000000000000zzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b00010zz10000000000000zzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b00010z100000000000000zzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b000101000000000000000zzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b000100000000000000000zz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b000100000000000000000z10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b000100000000000000000100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b00011zzzzzzzzzzzzzz1zzzz: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b00011zzzzzzzzzzzzz10zzzz: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b00011zzzzzzzzzzzz100zzzz: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b00011zzzzzzzzzzz1000zzzz: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b00011zzzzzzzzzz10000zzzz: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b00011zzzzzzzzz100000zzzz: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b00011zzzzzzzz1000000zzzz: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b00011zzzzzzz10000000zzzz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b00011zzzzzz100000000zzzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b00011zzzzz1000000000zzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b00011zzzz10000000000zzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b00011zzz100000000000zzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b00011zz1000000000000zzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b00011z10000000000000zzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b00011100000000000000zzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b00011000000000000000zzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b00011000000000000000zz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b00011000000000000000z100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b000110000000000000001000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b00100zzzzzzzzzzzzz1zzzzz: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b00100zzzzzzzzzzzz10zzzzz: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b00100zzzzzzzzzzz100zzzzz: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b00100zzzzzzzzzz1000zzzzz: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b00100zzzzzzzzz10000zzzzz: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b00100zzzzzzzz100000zzzzz: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b00100zzzzzzz1000000zzzzz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b00100zzzzzz10000000zzzzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b00100zzzzz100000000zzzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b00100zzzz1000000000zzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b00100zzz10000000000zzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b00100zz100000000000zzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b00100z1000000000000zzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b0010010000000000000zzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b0010000000000000000zzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b0010000000000000000zzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b0010000000000000000zz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b0010000000000000000z1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b001000000000000000010000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b00101zzzzzzzzzzzz1zzzzzz: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b00101zzzzzzzzzzz10zzzzzz: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b00101zzzzzzzzzz100zzzzzz: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b00101zzzzzzzzz1000zzzzzz: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b00101zzzzzzzz10000zzzzzz: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b00101zzzzzzz100000zzzzzz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b00101zzzzzz1000000zzzzzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b00101zzzzz10000000zzzzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b00101zzzz100000000zzzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b00101zzz1000000000zzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b00101zz10000000000zzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b00101z100000000000zzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b001011000000000000zzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b001010000000000000zzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b001010000000000000zzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b001010000000000000zzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b001010000000000000zz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b001010000000000000z10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b001010000000000000100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b00110zzzzzzzzzzz1zzzzzzz: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b00110zzzzzzzzzz10zzzzzzz: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b00110zzzzzzzzz100zzzzzzz: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b00110zzzzzzzz1000zzzzzzz: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b00110zzzzzzz10000zzzzzzz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b00110zzzzzz100000zzzzzzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b00110zzzzz1000000zzzzzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b00110zzzz10000000zzzzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b00110zzz100000000zzzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b00110zz1000000000zzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b00110z10000000000zzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b00110100000000000zzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b00110000000000000zzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b00110000000000000zzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b00110000000000000zzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b00110000000000000zzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b00110000000000000zz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b00110000000000000z100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b001100000000000001000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b00111zzzzzzzzzz1zzzzzzzz: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b00111zzzzzzzzz10zzzzzzzz: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b00111zzzzzzzz100zzzzzzzz: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b00111zzzzzzz1000zzzzzzzz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b00111zzzzzz10000zzzzzzzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b00111zzzzz100000zzzzzzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b00111zzzz1000000zzzzzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b00111zzz10000000zzzzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b00111zz100000000zzzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b00111z1000000000zzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b0011110000000000zzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b0011100000000000zzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b0011100000000000zzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b0011100000000000zzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b0011100000000000zzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b0011100000000000zzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b0011100000000000zz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b0011100000000000z1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b001110000000000010000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b01000zzzzzzzzz1zzzzzzzzz: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b01000zzzzzzzz10zzzzzzzzz: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b01000zzzzzzz100zzzzzzzzz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b01000zzzzzz1000zzzzzzzzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b01000zzzzz10000zzzzzzzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b01000zzzz100000zzzzzzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b01000zzz1000000zzzzzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b01000zz10000000zzzzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b01000z100000000zzzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b010001000000000zzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b010000000000000zzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b010000000000000zzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b010000000000000zzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b010000000000000zzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b010000000000000zzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b010000000000000zzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b010000000000000zz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b010000000000000z10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b010000000000000100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b01001zzzzzzzz1zzzzzzzzzz: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b01001zzzzzzz10zzzzzzzzzz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b01001zzzzzz100zzzzzzzzzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b01001zzzzz1000zzzzzzzzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b01001zzzz10000zzzzzzzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b01001zzz100000zzzzzzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b01001zz1000000zzzzzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b01001z10000000zzzzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b01001100000000zzzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b01001000000000zzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b01001000000000zzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b01001000000000zzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b01001000000000zzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b01001000000000zzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b01001000000000zzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b01001000000000zzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b01001000000000zz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b01001000000000z100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b010010000000001000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b01010zzzzzzz1zzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b01010zzzzzz10zzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b01010zzzzz100zzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b01010zzzz1000zzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b01010zzz10000zzzzzzzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b01010zz100000zzzzzzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b01010z1000000zzzzzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b0101010000000zzzzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b0101000000000zzzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b0101000000000zzzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b0101000000000zzzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b0101000000000zzzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b0101000000000zzzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b0101000000000zzzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b0101000000000zzzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b0101000000000zzz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b0101000000000zz100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b0101000000000z1000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b010100000000010000000000: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b01011zzzzzz1zzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b01011zzzzz10zzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b01011zzzz100zzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b01011zzz1000zzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b01011zz10000zzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b01011z100000zzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b010111000000zzzzzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b010110000000zzzzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b010110000000zzzzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b010110000000zzzzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b010110000000zzzzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b010110000000zzzzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b010110000000zzzzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b010110000000zzzzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b010110000000zzzz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b010110000000zzz100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b010110000000zz1000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b010110000000z10000000000: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b010110000000100000000000: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b01100zzzzz1zzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b01100zzzz10zzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b01100zzz100zzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b01100zz1000zzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b01100z10000zzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b01100100000zzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b01100000000zzzzzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b01100000000zzzzzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b01100000000zzzzzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b01100000000zzzzzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b01100000000zzzzzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b01100000000zzzzzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b01100000000zzzzzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b01100000000zzzzz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b01100000000zzzz100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b01100000000zzz1000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b01100000000zz10000000000: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b01100000000z100000000000: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b011000000001000000000000: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b01101zzzz1zzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b01101zzz10zzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b01101zz100zzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b01101z1000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b0110110000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b0110100000zzzzzzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b0110100000zzzzzzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b0110100000zzzzzzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b0110100000zzzzzzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b0110100000zzzzzzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b0110100000zzzzzzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b0110100000zzzzzzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b0110100000zzzzzz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b0110100000zzzzz100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b0110100000zzzz1000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b0110100000zzz10000000000: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b0110100000zz100000000000: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b0110100000z1000000000000: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b011010000010000000000000: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b01110zzz1zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b01110zz10zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b01110z100zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b011101000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b011100000zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b011100000zzzzzzzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b011100000zzzzzzzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b011100000zzzzzzzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b011100000zzzzzzzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b011100000zzzzzzzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b011100000zzzzzzzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b011100000zzzzzzz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b011100000zzzzzz100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b011100000zzzzz1000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b011100000zzzz10000000000: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b011100000zzz100000000000: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b011100000zz1000000000000: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b011100000z10000000000000: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b011100000100000000000000: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b01111zz1zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b01111z10zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b01111100zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b01111000zzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b01111000zzzzzzzzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b01111000zzzzzzzzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b01111000zzzzzzzzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b01111000zzzzzzzzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b01111000zzzzzzzzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b01111000zzzzzzzzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b01111000zzzzzzzz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b01111000zzzzzzz100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b01111000zzzzzz1000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b01111000zzzzz10000000000: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b01111000zzzz100000000000: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b01111000zzz1000000000000: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b01111000zz10000000000000: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b01111000z100000000000000: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b011110001000000000000000: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b10000z1zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b1000010zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b1000000zzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b1000000zzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b1000000zzzzzzzzzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b1000000zzzzzzzzzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b1000000zzzzzzzzzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b1000000zzzzzzzzzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b1000000zzzzzzzzzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b1000000zzzzzzzzz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b1000000zzzzzzzz100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b1000000zzzzzzz1000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b1000000zzzzzz10000000000: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b1000000zzzzz100000000000: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b1000000zzzz1000000000000: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b1000000zzz10000000000000: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b1000000zz100000000000000: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b1000000z1000000000000000: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b100000010000000000000000: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b100011zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 24'b100010zzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b100010zzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b100010zzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b100010zzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b100010zzzzzzzzzzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b100010zzzzzzzzzzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b100010zzzzzzzzzzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b100010zzzzzzzzzz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b100010zzzzzzzzz100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b100010zzzzzzzz1000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b100010zzzzzzz10000000000: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b100010zzzzzz100000000000: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b100010zzzzz1000000000000: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b100010zzzz10000000000000: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b100010zzz100000000000000: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b100010zz1000000000000000: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b100010z10000000000000000: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b100010100000000000000000: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b10010zzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 19'b0000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 24'b10010zzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 19'b0000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 24'b10010zzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 19'b0000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 24'b10010zzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 19'b0000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 24'b10010zzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 19'b0000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 24'b10010zzzzzzzzzzzzz100000: begin + sel_one_hot_n = 19'b0000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 24'b10010zzzzzzzzzzzz1000000: begin + sel_one_hot_n = 19'b0000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 24'b10010zzzzzzzzzzz10000000: begin + sel_one_hot_n = 19'b0000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 24'b10010zzzzzzzzzz100000000: begin + sel_one_hot_n = 19'b0000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 24'b10010zzzzzzzzz1000000000: begin + sel_one_hot_n = 19'b0000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 24'b10010zzzzzzzz10000000000: begin + sel_one_hot_n = 19'b0000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 24'b10010zzzzzzz100000000000: begin + sel_one_hot_n = 19'b0000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 24'b10010zzzzzz1000000000000: begin + sel_one_hot_n = 19'b0000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 24'b10010zzzzz10000000000000: begin + sel_one_hot_n = 19'b0000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 24'b10010zzzz100000000000000: begin + sel_one_hot_n = 19'b0000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 24'b10010zzz1000000000000000: begin + sel_one_hot_n = 19'b0001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 24'b10010zz10000000000000000: begin + sel_one_hot_n = 19'b0010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 24'b10010z100000000000000000: begin + sel_one_hot_n = 19'b0100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 24'b100101000000000000000000: begin + sel_one_hot_n = 19'b1000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + default: begin + sel_one_hot_n = {19 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {19 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 5'b00000: hold_on_sr = reqs_i == 19'b0100000000000000000; + 5'b00001: hold_on_sr = reqs_i == 19'b0010000000000000000; + 5'b00010: hold_on_sr = reqs_i == 19'b0001000000000000000; + 5'b00011: hold_on_sr = reqs_i == 19'b0000100000000000000; + 5'b00100: hold_on_sr = reqs_i == 19'b0000010000000000000; + 5'b00101: hold_on_sr = reqs_i == 19'b0000001000000000000; + 5'b00110: hold_on_sr = reqs_i == 19'b0000000100000000000; + 5'b00111: hold_on_sr = reqs_i == 19'b0000000010000000000; + 5'b01000: hold_on_sr = reqs_i == 19'b0000000001000000000; + 5'b01001: hold_on_sr = reqs_i == 19'b0000000000100000000; + 5'b01010: hold_on_sr = reqs_i == 19'b0000000000010000000; + 5'b01011: hold_on_sr = reqs_i == 19'b0000000000001000000; + 5'b01100: hold_on_sr = reqs_i == 19'b0000000000000100000; + 5'b01101: hold_on_sr = reqs_i == 19'b0000000000000010000; + 5'b01110: hold_on_sr = reqs_i == 19'b0000000000000001000; + 5'b01111: hold_on_sr = reqs_i == 19'b0000000000000000100; + 5'b10000: hold_on_sr = reqs_i == 19'b0000000000000000010; + 5'b10001: hold_on_sr = reqs_i == 19'b0000000000000000001; + 5'b10010: hold_on_sr = reqs_i == 19'b1000000000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_19 + assign reset_on_sr = ((((((((((((((((((reqs_i == 19'b0100000000000000000) | (reqs_i == 19'b0010000000000000000)) | (reqs_i == 19'b0001000000000000000)) | (reqs_i == 19'b0000100000000000000)) | (reqs_i == 19'b0000010000000000000)) | (reqs_i == 19'b0000001000000000000)) | (reqs_i == 19'b0000000100000000000)) | (reqs_i == 19'b0000000010000000000)) | (reqs_i == 19'b0000000001000000000)) | (reqs_i == 19'b0000000000100000000)) | (reqs_i == 19'b0000000000010000000)) | (reqs_i == 19'b0000000000001000000)) | (reqs_i == 19'b0000000000000100000)) | (reqs_i == 19'b0000000000000010000)) | (reqs_i == 19'b0000000000000001000)) | (reqs_i == 19'b0000000000000000100)) | (reqs_i == 19'b0000000000000000010)) | (reqs_i == 19'b0000000000000000001)) | (reqs_i == 19'b1000000000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 20) begin : inputs_20 + reg [19:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 25'bzzzzz00000000000000000000: begin + sel_one_hot_n = 20'b00000000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b00000zzzzzzzzzzzzzzzzzz1z: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b00000zzzzzzzzzzzzzzzzz10z: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b00000zzzzzzzzzzzzzzzz100z: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b00000zzzzzzzzzzzzzzz1000z: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b00000zzzzzzzzzzzzzz10000z: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b00000zzzzzzzzzzzzz100000z: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b00000zzzzzzzzzzzz1000000z: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b00000zzzzzzzzzzz10000000z: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b00000zzzzzzzzzz100000000z: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b00000zzzzzzzzz1000000000z: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b00000zzzzzzzz10000000000z: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b00000zzzzzzz100000000000z: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b00000zzzzzz1000000000000z: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b00000zzzzz10000000000000z: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b00000zzzz100000000000000z: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b00000zzz1000000000000000z: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b00000zz10000000000000000z: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b00000z100000000000000000z: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b000001000000000000000000z: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b0000000000000000000000001: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b00001zzzzzzzzzzzzzzzzz1zz: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b00001zzzzzzzzzzzzzzzz10zz: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b00001zzzzzzzzzzzzzzz100zz: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b00001zzzzzzzzzzzzzz1000zz: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b00001zzzzzzzzzzzzz10000zz: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b00001zzzzzzzzzzzz100000zz: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b00001zzzzzzzzzzz1000000zz: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b00001zzzzzzzzzz10000000zz: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b00001zzzzzzzzz100000000zz: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b00001zzzzzzzz1000000000zz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b00001zzzzzzz10000000000zz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b00001zzzzzz100000000000zz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b00001zzzzz1000000000000zz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b00001zzzz10000000000000zz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b00001zzz100000000000000zz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b00001zz1000000000000000zz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b00001z10000000000000000zz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b00001100000000000000000zz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b00001000000000000000000z1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b0000100000000000000000010: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b00010zzzzzzzzzzzzzzzz1zzz: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b00010zzzzzzzzzzzzzzz10zzz: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b00010zzzzzzzzzzzzzz100zzz: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b00010zzzzzzzzzzzzz1000zzz: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b00010zzzzzzzzzzzz10000zzz: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b00010zzzzzzzzzzz100000zzz: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b00010zzzzzzzzzz1000000zzz: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b00010zzzzzzzzz10000000zzz: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b00010zzzzzzzz100000000zzz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b00010zzzzzzz1000000000zzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b00010zzzzzz10000000000zzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b00010zzzzz100000000000zzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b00010zzzz1000000000000zzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b00010zzz10000000000000zzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b00010zz100000000000000zzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b00010z1000000000000000zzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b0001010000000000000000zzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b0001000000000000000000zz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b0001000000000000000000z10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b0001000000000000000000100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b00011zzzzzzzzzzzzzzz1zzzz: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b00011zzzzzzzzzzzzzz10zzzz: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b00011zzzzzzzzzzzzz100zzzz: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b00011zzzzzzzzzzzz1000zzzz: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b00011zzzzzzzzzzz10000zzzz: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b00011zzzzzzzzzz100000zzzz: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b00011zzzzzzzzz1000000zzzz: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b00011zzzzzzzz10000000zzzz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b00011zzzzzzz100000000zzzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b00011zzzzzz1000000000zzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b00011zzzzz10000000000zzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b00011zzzz100000000000zzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b00011zzz1000000000000zzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b00011zz10000000000000zzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b00011z100000000000000zzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b000111000000000000000zzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b000110000000000000000zzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b000110000000000000000zz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b000110000000000000000z100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b0001100000000000000001000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b00100zzzzzzzzzzzzzz1zzzzz: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b00100zzzzzzzzzzzzz10zzzzz: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b00100zzzzzzzzzzzz100zzzzz: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b00100zzzzzzzzzzz1000zzzzz: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b00100zzzzzzzzzz10000zzzzz: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b00100zzzzzzzzz100000zzzzz: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b00100zzzzzzzz1000000zzzzz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b00100zzzzzzz10000000zzzzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b00100zzzzzz100000000zzzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b00100zzzzz1000000000zzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b00100zzzz10000000000zzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b00100zzz100000000000zzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b00100zz1000000000000zzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b00100z10000000000000zzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b00100100000000000000zzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b00100000000000000000zzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b00100000000000000000zzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b00100000000000000000zz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b00100000000000000000z1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b0010000000000000000010000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b00101zzzzzzzzzzzzz1zzzzzz: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b00101zzzzzzzzzzzz10zzzzzz: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b00101zzzzzzzzzzz100zzzzzz: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b00101zzzzzzzzzz1000zzzzzz: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b00101zzzzzzzzz10000zzzzzz: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b00101zzzzzzzz100000zzzzzz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b00101zzzzzzz1000000zzzzzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b00101zzzzzz10000000zzzzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b00101zzzzz100000000zzzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b00101zzzz1000000000zzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b00101zzz10000000000zzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b00101zz100000000000zzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b00101z1000000000000zzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b0010110000000000000zzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b0010100000000000000zzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b0010100000000000000zzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b0010100000000000000zzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b0010100000000000000zz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b0010100000000000000z10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b0010100000000000000100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b00110zzzzzzzzzzzz1zzzzzzz: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b00110zzzzzzzzzzz10zzzzzzz: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b00110zzzzzzzzzz100zzzzzzz: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b00110zzzzzzzzz1000zzzzzzz: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b00110zzzzzzzz10000zzzzzzz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b00110zzzzzzz100000zzzzzzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b00110zzzzzz1000000zzzzzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b00110zzzzz10000000zzzzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b00110zzzz100000000zzzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b00110zzz1000000000zzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b00110zz10000000000zzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b00110z100000000000zzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b001101000000000000zzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b001100000000000000zzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b001100000000000000zzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b001100000000000000zzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b001100000000000000zzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b001100000000000000zz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b001100000000000000z100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b0011000000000000001000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b00111zzzzzzzzzzz1zzzzzzzz: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b00111zzzzzzzzzz10zzzzzzzz: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b00111zzzzzzzzz100zzzzzzzz: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b00111zzzzzzzz1000zzzzzzzz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b00111zzzzzzz10000zzzzzzzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b00111zzzzzz100000zzzzzzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b00111zzzzz1000000zzzzzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b00111zzzz10000000zzzzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b00111zzz100000000zzzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b00111zz1000000000zzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b00111z10000000000zzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b00111100000000000zzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b00111000000000000zzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b00111000000000000zzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b00111000000000000zzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b00111000000000000zzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b00111000000000000zzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b00111000000000000zz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b00111000000000000z1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b0011100000000000010000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b01000zzzzzzzzzz1zzzzzzzzz: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b01000zzzzzzzzz10zzzzzzzzz: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b01000zzzzzzzz100zzzzzzzzz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b01000zzzzzzz1000zzzzzzzzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b01000zzzzzz10000zzzzzzzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b01000zzzzz100000zzzzzzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b01000zzzz1000000zzzzzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b01000zzz10000000zzzzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b01000zz100000000zzzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b01000z1000000000zzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b0100010000000000zzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b0100000000000000zzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b0100000000000000zzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b0100000000000000zzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b0100000000000000zzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b0100000000000000zzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b0100000000000000zzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b0100000000000000zz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b0100000000000000z10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b0100000000000000100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b01001zzzzzzzzz1zzzzzzzzzz: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b01001zzzzzzzz10zzzzzzzzzz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b01001zzzzzzz100zzzzzzzzzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b01001zzzzzz1000zzzzzzzzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b01001zzzzz10000zzzzzzzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b01001zzzz100000zzzzzzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b01001zzz1000000zzzzzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b01001zz10000000zzzzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b01001z100000000zzzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b010011000000000zzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b010010000000000zzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b010010000000000zzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b010010000000000zzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b010010000000000zzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b010010000000000zzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b010010000000000zzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b010010000000000zzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b010010000000000zz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b010010000000000z100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b0100100000000001000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b01010zzzzzzzz1zzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b01010zzzzzzz10zzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b01010zzzzzz100zzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b01010zzzzz1000zzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b01010zzzz10000zzzzzzzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b01010zzz100000zzzzzzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b01010zz1000000zzzzzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b01010z10000000zzzzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b01010100000000zzzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b01010000000000zzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b01010000000000zzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b01010000000000zzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b01010000000000zzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b01010000000000zzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b01010000000000zzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b01010000000000zzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b01010000000000zzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b01010000000000zz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b01010000000000z1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b0101000000000010000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b01011zzzzzzz1zzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b01011zzzzzz10zzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b01011zzzzz100zzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b01011zzzz1000zzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b01011zzz10000zzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b01011zz100000zzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b01011z1000000zzzzzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b0101110000000zzzzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b0101100000000zzzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b0101100000000zzzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b0101100000000zzzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b0101100000000zzzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b0101100000000zzzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b0101100000000zzzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b0101100000000zzzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b0101100000000zzzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b0101100000000zzz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b0101100000000zz1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b0101100000000z10000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b0101100000000100000000000: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b01100zzzzzz1zzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b01100zzzzz10zzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b01100zzzz100zzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b01100zzz1000zzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b01100zz10000zzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b01100z100000zzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b011001000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b011000000000zzzzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b011000000000zzzzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b011000000000zzzzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b011000000000zzzzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b011000000000zzzzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b011000000000zzzzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b011000000000zzzzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b011000000000zzzzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b011000000000zzzz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b011000000000zzz1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b011000000000zz10000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b011000000000z100000000000: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b0110000000001000000000000: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b01101zzzzz1zzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b01101zzzz10zzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b01101zzz100zzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b01101zz1000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b01101z10000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b01101100000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b01101000000zzzzzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b01101000000zzzzzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b01101000000zzzzzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b01101000000zzzzzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b01101000000zzzzzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b01101000000zzzzzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b01101000000zzzzzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b01101000000zzzzzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b01101000000zzzzz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b01101000000zzzz1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b01101000000zzz10000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b01101000000zz100000000000: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b01101000000z1000000000000: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b0110100000010000000000000: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b01110zzzz1zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b01110zzz10zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b01110zz100zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b01110z1000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b0111010000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b0111000000zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b0111000000zzzzzzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b0111000000zzzzzzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b0111000000zzzzzzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b0111000000zzzzzzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b0111000000zzzzzzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b0111000000zzzzzzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b0111000000zzzzzzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b0111000000zzzzzz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b0111000000zzzzz1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b0111000000zzzz10000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b0111000000zzz100000000000: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b0111000000zz1000000000000: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b0111000000z10000000000000: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b0111000000100000000000000: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b01111zzz1zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b01111zz10zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b01111z100zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b011111000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b011110000zzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b011110000zzzzzzzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b011110000zzzzzzzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b011110000zzzzzzzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b011110000zzzzzzzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b011110000zzzzzzzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b011110000zzzzzzzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b011110000zzzzzzzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b011110000zzzzzzz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b011110000zzzzzz1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b011110000zzzzz10000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b011110000zzzz100000000000: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b011110000zzz1000000000000: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b011110000zz10000000000000: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b011110000z100000000000000: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b0111100001000000000000000: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b10000zz1zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b10000z10zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b10000100zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b10000000zzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b10000000zzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b10000000zzzzzzzzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b10000000zzzzzzzzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b10000000zzzzzzzzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b10000000zzzzzzzzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b10000000zzzzzzzzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b10000000zzzzzzzzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b10000000zzzzzzzz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b10000000zzzzzzz1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b10000000zzzzzz10000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b10000000zzzzz100000000000: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b10000000zzzz1000000000000: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b10000000zzz10000000000000: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b10000000zz100000000000000: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b10000000z1000000000000000: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b1000000010000000000000000: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b10001z1zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b1000110zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b1000100zzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b1000100zzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b1000100zzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b1000100zzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b1000100zzzzzzzzzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b1000100zzzzzzzzzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b1000100zzzzzzzzzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b1000100zzzzzzzzzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b1000100zzzzzzzzz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b1000100zzzzzzzz1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b1000100zzzzzzz10000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b1000100zzzzzz100000000000: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b1000100zzzzz1000000000000: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b1000100zzzz10000000000000: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b1000100zzz100000000000000: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b1000100zz1000000000000000: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b1000100z10000000000000000: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b1000100100000000000000000: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b100101zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 25'b100100zzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b100100zzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b100100zzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b100100zzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b100100zzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b100100zzzzzzzzzzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b100100zzzzzzzzzzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b100100zzzzzzzzzzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b100100zzzzzzzzzz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b100100zzzzzzzzz1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b100100zzzzzzzz10000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b100100zzzzzzz100000000000: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b100100zzzzzz1000000000000: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b100100zzzzz10000000000000: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b100100zzzz100000000000000: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b100100zzz1000000000000000: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b100100zz10000000000000000: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b100100z100000000000000000: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b1001001000000000000000000: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b10011zzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 20'b00000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 25'b10011zzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 20'b00000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 25'b10011zzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 20'b00000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 25'b10011zzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 20'b00000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 25'b10011zzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 20'b00000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 25'b10011zzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 20'b00000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 25'b10011zzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 20'b00000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 25'b10011zzzzzzzzzzzz10000000: begin + sel_one_hot_n = 20'b00000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 25'b10011zzzzzzzzzzz100000000: begin + sel_one_hot_n = 20'b00000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 25'b10011zzzzzzzzzz1000000000: begin + sel_one_hot_n = 20'b00000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 25'b10011zzzzzzzzz10000000000: begin + sel_one_hot_n = 20'b00000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 25'b10011zzzzzzzz100000000000: begin + sel_one_hot_n = 20'b00000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 25'b10011zzzzzzz1000000000000: begin + sel_one_hot_n = 20'b00000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 25'b10011zzzzzz10000000000000: begin + sel_one_hot_n = 20'b00000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 25'b10011zzzzz100000000000000: begin + sel_one_hot_n = 20'b00000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 25'b10011zzzz1000000000000000: begin + sel_one_hot_n = 20'b00001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 25'b10011zzz10000000000000000: begin + sel_one_hot_n = 20'b00010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 25'b10011zz100000000000000000: begin + sel_one_hot_n = 20'b00100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 25'b10011z1000000000000000000: begin + sel_one_hot_n = 20'b01000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 25'b1001110000000000000000000: begin + sel_one_hot_n = 20'b10000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + default: begin + sel_one_hot_n = {20 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {20 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 5'b00000: hold_on_sr = reqs_i == 20'b01000000000000000000; + 5'b00001: hold_on_sr = reqs_i == 20'b00100000000000000000; + 5'b00010: hold_on_sr = reqs_i == 20'b00010000000000000000; + 5'b00011: hold_on_sr = reqs_i == 20'b00001000000000000000; + 5'b00100: hold_on_sr = reqs_i == 20'b00000100000000000000; + 5'b00101: hold_on_sr = reqs_i == 20'b00000010000000000000; + 5'b00110: hold_on_sr = reqs_i == 20'b00000001000000000000; + 5'b00111: hold_on_sr = reqs_i == 20'b00000000100000000000; + 5'b01000: hold_on_sr = reqs_i == 20'b00000000010000000000; + 5'b01001: hold_on_sr = reqs_i == 20'b00000000001000000000; + 5'b01010: hold_on_sr = reqs_i == 20'b00000000000100000000; + 5'b01011: hold_on_sr = reqs_i == 20'b00000000000010000000; + 5'b01100: hold_on_sr = reqs_i == 20'b00000000000001000000; + 5'b01101: hold_on_sr = reqs_i == 20'b00000000000000100000; + 5'b01110: hold_on_sr = reqs_i == 20'b00000000000000010000; + 5'b01111: hold_on_sr = reqs_i == 20'b00000000000000001000; + 5'b10000: hold_on_sr = reqs_i == 20'b00000000000000000100; + 5'b10001: hold_on_sr = reqs_i == 20'b00000000000000000010; + 5'b10010: hold_on_sr = reqs_i == 20'b00000000000000000001; + 5'b10011: hold_on_sr = reqs_i == 20'b10000000000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_20 + assign reset_on_sr = (((((((((((((((((((reqs_i == 20'b01000000000000000000) | (reqs_i == 20'b00100000000000000000)) | (reqs_i == 20'b00010000000000000000)) | (reqs_i == 20'b00001000000000000000)) | (reqs_i == 20'b00000100000000000000)) | (reqs_i == 20'b00000010000000000000)) | (reqs_i == 20'b00000001000000000000)) | (reqs_i == 20'b00000000100000000000)) | (reqs_i == 20'b00000000010000000000)) | (reqs_i == 20'b00000000001000000000)) | (reqs_i == 20'b00000000000100000000)) | (reqs_i == 20'b00000000000010000000)) | (reqs_i == 20'b00000000000001000000)) | (reqs_i == 20'b00000000000000100000)) | (reqs_i == 20'b00000000000000010000)) | (reqs_i == 20'b00000000000000001000)) | (reqs_i == 20'b00000000000000000100)) | (reqs_i == 20'b00000000000000000010)) | (reqs_i == 20'b00000000000000000001)) | (reqs_i == 20'b10000000000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 21) begin : inputs_21 + reg [20:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 26'bzzzzz000000000000000000000: begin + sel_one_hot_n = 21'b000000000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b00000zzzzzzzzzzzzzzzzzzz1z: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b00000zzzzzzzzzzzzzzzzzz10z: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b00000zzzzzzzzzzzzzzzzz100z: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b00000zzzzzzzzzzzzzzzz1000z: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b00000zzzzzzzzzzzzzzz10000z: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b00000zzzzzzzzzzzzzz100000z: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b00000zzzzzzzzzzzzz1000000z: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b00000zzzzzzzzzzzz10000000z: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b00000zzzzzzzzzzz100000000z: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b00000zzzzzzzzzz1000000000z: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b00000zzzzzzzzz10000000000z: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b00000zzzzzzzz100000000000z: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b00000zzzzzzz1000000000000z: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b00000zzzzzz10000000000000z: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b00000zzzzz100000000000000z: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b00000zzzz1000000000000000z: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b00000zzz10000000000000000z: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b00000zz100000000000000000z: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b00000z1000000000000000000z: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b0000010000000000000000000z: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b00000000000000000000000001: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b00001zzzzzzzzzzzzzzzzzz1zz: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b00001zzzzzzzzzzzzzzzzz10zz: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b00001zzzzzzzzzzzzzzzz100zz: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b00001zzzzzzzzzzzzzzz1000zz: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b00001zzzzzzzzzzzzzz10000zz: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b00001zzzzzzzzzzzzz100000zz: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b00001zzzzzzzzzzzz1000000zz: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b00001zzzzzzzzzzz10000000zz: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b00001zzzzzzzzzz100000000zz: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b00001zzzzzzzzz1000000000zz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b00001zzzzzzzz10000000000zz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b00001zzzzzzz100000000000zz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b00001zzzzzz1000000000000zz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b00001zzzzz10000000000000zz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b00001zzzz100000000000000zz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b00001zzz1000000000000000zz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b00001zz10000000000000000zz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b00001z100000000000000000zz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b000011000000000000000000zz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b000010000000000000000000z1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b00001000000000000000000010: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b00010zzzzzzzzzzzzzzzzz1zzz: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b00010zzzzzzzzzzzzzzzz10zzz: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b00010zzzzzzzzzzzzzzz100zzz: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b00010zzzzzzzzzzzzzz1000zzz: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b00010zzzzzzzzzzzzz10000zzz: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b00010zzzzzzzzzzzz100000zzz: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b00010zzzzzzzzzzz1000000zzz: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b00010zzzzzzzzzz10000000zzz: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b00010zzzzzzzzz100000000zzz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b00010zzzzzzzz1000000000zzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b00010zzzzzzz10000000000zzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b00010zzzzzz100000000000zzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b00010zzzzz1000000000000zzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b00010zzzz10000000000000zzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b00010zzz100000000000000zzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b00010zz1000000000000000zzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b00010z10000000000000000zzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b00010100000000000000000zzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b00010000000000000000000zz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b00010000000000000000000z10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b00010000000000000000000100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b00011zzzzzzzzzzzzzzzz1zzzz: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b00011zzzzzzzzzzzzzzz10zzzz: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b00011zzzzzzzzzzzzzz100zzzz: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b00011zzzzzzzzzzzzz1000zzzz: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b00011zzzzzzzzzzzz10000zzzz: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b00011zzzzzzzzzzz100000zzzz: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b00011zzzzzzzzzz1000000zzzz: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b00011zzzzzzzzz10000000zzzz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b00011zzzzzzzz100000000zzzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b00011zzzzzzz1000000000zzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b00011zzzzzz10000000000zzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b00011zzzzz100000000000zzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b00011zzzz1000000000000zzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b00011zzz10000000000000zzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b00011zz100000000000000zzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b00011z1000000000000000zzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b0001110000000000000000zzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b0001100000000000000000zzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b0001100000000000000000zz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b0001100000000000000000z100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b00011000000000000000001000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b00100zzzzzzzzzzzzzzz1zzzzz: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b00100zzzzzzzzzzzzzz10zzzzz: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b00100zzzzzzzzzzzzz100zzzzz: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b00100zzzzzzzzzzzz1000zzzzz: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b00100zzzzzzzzzzz10000zzzzz: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b00100zzzzzzzzzz100000zzzzz: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b00100zzzzzzzzz1000000zzzzz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b00100zzzzzzzz10000000zzzzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b00100zzzzzzz100000000zzzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b00100zzzzzz1000000000zzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b00100zzzzz10000000000zzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b00100zzzz100000000000zzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b00100zzz1000000000000zzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b00100zz10000000000000zzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b00100z100000000000000zzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b001001000000000000000zzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b001000000000000000000zzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b001000000000000000000zzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b001000000000000000000zz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b001000000000000000000z1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b00100000000000000000010000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b00101zzzzzzzzzzzzzz1zzzzzz: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b00101zzzzzzzzzzzzz10zzzzzz: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b00101zzzzzzzzzzzz100zzzzzz: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b00101zzzzzzzzzzz1000zzzzzz: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b00101zzzzzzzzzz10000zzzzzz: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b00101zzzzzzzzz100000zzzzzz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b00101zzzzzzzz1000000zzzzzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b00101zzzzzzz10000000zzzzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b00101zzzzzz100000000zzzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b00101zzzzz1000000000zzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b00101zzzz10000000000zzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b00101zzz100000000000zzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b00101zz1000000000000zzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b00101z10000000000000zzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b00101100000000000000zzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b00101000000000000000zzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b00101000000000000000zzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b00101000000000000000zzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b00101000000000000000zz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b00101000000000000000z10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b00101000000000000000100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b00110zzzzzzzzzzzzz1zzzzzzz: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b00110zzzzzzzzzzzz10zzzzzzz: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b00110zzzzzzzzzzz100zzzzzzz: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b00110zzzzzzzzzz1000zzzzzzz: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b00110zzzzzzzzz10000zzzzzzz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b00110zzzzzzzz100000zzzzzzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b00110zzzzzzz1000000zzzzzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b00110zzzzzz10000000zzzzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b00110zzzzz100000000zzzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b00110zzzz1000000000zzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b00110zzz10000000000zzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b00110zz100000000000zzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b00110z1000000000000zzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b0011010000000000000zzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b0011000000000000000zzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b0011000000000000000zzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b0011000000000000000zzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b0011000000000000000zzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b0011000000000000000zz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b0011000000000000000z100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b00110000000000000001000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b00111zzzzzzzzzzzz1zzzzzzzz: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b00111zzzzzzzzzzz10zzzzzzzz: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b00111zzzzzzzzzz100zzzzzzzz: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b00111zzzzzzzzz1000zzzzzzzz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b00111zzzzzzzz10000zzzzzzzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b00111zzzzzzz100000zzzzzzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b00111zzzzzz1000000zzzzzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b00111zzzzz10000000zzzzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b00111zzzz100000000zzzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b00111zzz1000000000zzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b00111zz10000000000zzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b00111z100000000000zzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b001111000000000000zzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b001110000000000000zzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b001110000000000000zzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b001110000000000000zzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b001110000000000000zzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b001110000000000000zzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b001110000000000000zz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b001110000000000000z1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b00111000000000000010000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b01000zzzzzzzzzzz1zzzzzzzzz: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b01000zzzzzzzzzz10zzzzzzzzz: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b01000zzzzzzzzz100zzzzzzzzz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b01000zzzzzzzz1000zzzzzzzzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b01000zzzzzzz10000zzzzzzzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b01000zzzzzz100000zzzzzzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b01000zzzzz1000000zzzzzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b01000zzzz10000000zzzzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b01000zzz100000000zzzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b01000zz1000000000zzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b01000z10000000000zzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b01000100000000000zzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b01000000000000000zzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b01000000000000000zzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b01000000000000000zzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b01000000000000000zzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b01000000000000000zzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b01000000000000000zzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b01000000000000000zz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b01000000000000000z10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b01000000000000000100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b01001zzzzzzzzzz1zzzzzzzzzz: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b01001zzzzzzzzz10zzzzzzzzzz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b01001zzzzzzzz100zzzzzzzzzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b01001zzzzzzz1000zzzzzzzzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b01001zzzzzz10000zzzzzzzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b01001zzzzz100000zzzzzzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b01001zzzz1000000zzzzzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b01001zzz10000000zzzzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b01001zz100000000zzzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b01001z1000000000zzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b0100110000000000zzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b0100100000000000zzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b0100100000000000zzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b0100100000000000zzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b0100100000000000zzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b0100100000000000zzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b0100100000000000zzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b0100100000000000zzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b0100100000000000zz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b0100100000000000z100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b01001000000000001000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b01010zzzzzzzzz1zzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b01010zzzzzzzz10zzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b01010zzzzzzz100zzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b01010zzzzzz1000zzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b01010zzzzz10000zzzzzzzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b01010zzzz100000zzzzzzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b01010zzz1000000zzzzzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b01010zz10000000zzzzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b01010z100000000zzzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b010101000000000zzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b010100000000000zzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b010100000000000zzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b010100000000000zzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b010100000000000zzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b010100000000000zzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b010100000000000zzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b010100000000000zzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b010100000000000zzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b010100000000000zz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b010100000000000z1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b01010000000000010000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b01011zzzzzzzz1zzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b01011zzzzzzz10zzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b01011zzzzzz100zzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b01011zzzzz1000zzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b01011zzzz10000zzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b01011zzz100000zzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b01011zz1000000zzzzzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b01011z10000000zzzzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b01011100000000zzzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b01011000000000zzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b01011000000000zzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b01011000000000zzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b01011000000000zzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b01011000000000zzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b01011000000000zzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b01011000000000zzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b01011000000000zzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b01011000000000zzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b01011000000000zz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b01011000000000z10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b01011000000000100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b01100zzzzzzz1zzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b01100zzzzzz10zzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b01100zzzzz100zzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b01100zzzz1000zzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b01100zzz10000zzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b01100zz100000zzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b01100z1000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b0110010000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b0110000000000zzzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b0110000000000zzzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b0110000000000zzzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b0110000000000zzzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b0110000000000zzzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b0110000000000zzzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b0110000000000zzzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b0110000000000zzzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b0110000000000zzzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b0110000000000zzz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b0110000000000zz10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b0110000000000z100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b01100000000001000000000000: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b01101zzzzzz1zzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b01101zzzzz10zzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b01101zzzz100zzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b01101zzz1000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b01101zz10000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b01101z100000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b011011000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b011010000000zzzzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b011010000000zzzzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b011010000000zzzzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b011010000000zzzzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b011010000000zzzzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b011010000000zzzzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b011010000000zzzzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b011010000000zzzzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b011010000000zzzzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b011010000000zzzz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b011010000000zzz10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b011010000000zz100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b011010000000z1000000000000: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b01101000000010000000000000: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b01110zzzzz1zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b01110zzzz10zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b01110zzz100zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b01110zz1000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b01110z10000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b01110100000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b01110000000zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b01110000000zzzzzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b01110000000zzzzzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b01110000000zzzzzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b01110000000zzzzzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b01110000000zzzzzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b01110000000zzzzzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b01110000000zzzzzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b01110000000zzzzzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b01110000000zzzzz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b01110000000zzzz10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b01110000000zzz100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b01110000000zz1000000000000: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b01110000000z10000000000000: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b01110000000100000000000000: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b01111zzzz1zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b01111zzz10zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b01111zz100zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b01111z1000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b0111110000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b0111100000zzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b0111100000zzzzzzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b0111100000zzzzzzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b0111100000zzzzzzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b0111100000zzzzzzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b0111100000zzzzzzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b0111100000zzzzzzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b0111100000zzzzzzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b0111100000zzzzzzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b0111100000zzzzzz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b0111100000zzzzz10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b0111100000zzzz100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b0111100000zzz1000000000000: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b0111100000zz10000000000000: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b0111100000z100000000000000: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b01111000001000000000000000: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b10000zzz1zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b10000zz10zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b10000z100zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b100001000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b100000000zzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b100000000zzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b100000000zzzzzzzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b100000000zzzzzzzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b100000000zzzzzzzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b100000000zzzzzzzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b100000000zzzzzzzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b100000000zzzzzzzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b100000000zzzzzzzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b100000000zzzzzzz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b100000000zzzzzz10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b100000000zzzzz100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b100000000zzzz1000000000000: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b100000000zzz10000000000000: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b100000000zz100000000000000: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b100000000z1000000000000000: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b10000000010000000000000000: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b10001zz1zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b10001z10zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b10001100zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b10001000zzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b10001000zzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b10001000zzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b10001000zzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b10001000zzzzzzzzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b10001000zzzzzzzzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b10001000zzzzzzzzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b10001000zzzzzzzzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b10001000zzzzzzzzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b10001000zzzzzzzz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b10001000zzzzzzz10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b10001000zzzzzz100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b10001000zzzzz1000000000000: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b10001000zzzz10000000000000: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b10001000zzz100000000000000: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b10001000zz1000000000000000: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b10001000z10000000000000000: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b10001000100000000000000000: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b10010z1zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b1001010zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b1001000zzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b1001000zzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b1001000zzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b1001000zzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b1001000zzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b1001000zzzzzzzzzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b1001000zzzzzzzzzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b1001000zzzzzzzzzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b1001000zzzzzzzzzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b1001000zzzzzzzzz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b1001000zzzzzzzz10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b1001000zzzzzzz100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b1001000zzzzzz1000000000000: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b1001000zzzzz10000000000000: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b1001000zzzz100000000000000: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b1001000zzz1000000000000000: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b1001000zz10000000000000000: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b1001000z100000000000000000: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b10010001000000000000000000: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b100111zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 26'b100110zzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b100110zzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b100110zzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b100110zzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b100110zzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b100110zzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b100110zzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b100110zzzzzzzzzzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b100110zzzzzzzzzzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b100110zzzzzzzzzz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b100110zzzzzzzzz10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b100110zzzzzzzz100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b100110zzzzzzz1000000000000: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b100110zzzzzz10000000000000: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b100110zzzzz100000000000000: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b100110zzzz1000000000000000: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b100110zzz10000000000000000: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b100110zz100000000000000000: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b100110z1000000000000000000: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b10011010000000000000000000: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b10100zzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 21'b000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 26'b10100zzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 21'b000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 26'b10100zzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 21'b000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 26'b10100zzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 21'b000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 26'b10100zzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 21'b000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 26'b10100zzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 21'b000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 26'b10100zzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 21'b000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 26'b10100zzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 21'b000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 26'b10100zzzzzzzzzzzz100000000: begin + sel_one_hot_n = 21'b000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 26'b10100zzzzzzzzzzz1000000000: begin + sel_one_hot_n = 21'b000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 26'b10100zzzzzzzzzz10000000000: begin + sel_one_hot_n = 21'b000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 26'b10100zzzzzzzzz100000000000: begin + sel_one_hot_n = 21'b000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 26'b10100zzzzzzzz1000000000000: begin + sel_one_hot_n = 21'b000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 26'b10100zzzzzzz10000000000000: begin + sel_one_hot_n = 21'b000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 26'b10100zzzzzz100000000000000: begin + sel_one_hot_n = 21'b000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 26'b10100zzzzz1000000000000000: begin + sel_one_hot_n = 21'b000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 26'b10100zzzz10000000000000000: begin + sel_one_hot_n = 21'b000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 26'b10100zzz100000000000000000: begin + sel_one_hot_n = 21'b000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 26'b10100zz1000000000000000000: begin + sel_one_hot_n = 21'b001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 26'b10100z10000000000000000000: begin + sel_one_hot_n = 21'b010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 26'b10100100000000000000000000: begin + sel_one_hot_n = 21'b100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + default: begin + sel_one_hot_n = {21 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {21 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 5'b00000: hold_on_sr = reqs_i == 21'b010000000000000000000; + 5'b00001: hold_on_sr = reqs_i == 21'b001000000000000000000; + 5'b00010: hold_on_sr = reqs_i == 21'b000100000000000000000; + 5'b00011: hold_on_sr = reqs_i == 21'b000010000000000000000; + 5'b00100: hold_on_sr = reqs_i == 21'b000001000000000000000; + 5'b00101: hold_on_sr = reqs_i == 21'b000000100000000000000; + 5'b00110: hold_on_sr = reqs_i == 21'b000000010000000000000; + 5'b00111: hold_on_sr = reqs_i == 21'b000000001000000000000; + 5'b01000: hold_on_sr = reqs_i == 21'b000000000100000000000; + 5'b01001: hold_on_sr = reqs_i == 21'b000000000010000000000; + 5'b01010: hold_on_sr = reqs_i == 21'b000000000001000000000; + 5'b01011: hold_on_sr = reqs_i == 21'b000000000000100000000; + 5'b01100: hold_on_sr = reqs_i == 21'b000000000000010000000; + 5'b01101: hold_on_sr = reqs_i == 21'b000000000000001000000; + 5'b01110: hold_on_sr = reqs_i == 21'b000000000000000100000; + 5'b01111: hold_on_sr = reqs_i == 21'b000000000000000010000; + 5'b10000: hold_on_sr = reqs_i == 21'b000000000000000001000; + 5'b10001: hold_on_sr = reqs_i == 21'b000000000000000000100; + 5'b10010: hold_on_sr = reqs_i == 21'b000000000000000000010; + 5'b10011: hold_on_sr = reqs_i == 21'b000000000000000000001; + 5'b10100: hold_on_sr = reqs_i == 21'b100000000000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_21 + assign reset_on_sr = ((((((((((((((((((((reqs_i == 21'b010000000000000000000) | (reqs_i == 21'b001000000000000000000)) | (reqs_i == 21'b000100000000000000000)) | (reqs_i == 21'b000010000000000000000)) | (reqs_i == 21'b000001000000000000000)) | (reqs_i == 21'b000000100000000000000)) | (reqs_i == 21'b000000010000000000000)) | (reqs_i == 21'b000000001000000000000)) | (reqs_i == 21'b000000000100000000000)) | (reqs_i == 21'b000000000010000000000)) | (reqs_i == 21'b000000000001000000000)) | (reqs_i == 21'b000000000000100000000)) | (reqs_i == 21'b000000000000010000000)) | (reqs_i == 21'b000000000000001000000)) | (reqs_i == 21'b000000000000000100000)) | (reqs_i == 21'b000000000000000010000)) | (reqs_i == 21'b000000000000000001000)) | (reqs_i == 21'b000000000000000000100)) | (reqs_i == 21'b000000000000000000010)) | (reqs_i == 21'b000000000000000000001)) | (reqs_i == 21'b100000000000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 22) begin : inputs_22 + reg [21:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 27'bzzzzz0000000000000000000000: begin + sel_one_hot_n = 22'b0000000000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b00000zzzzzzzzzzzzzzzzzzzz1z: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b00000zzzzzzzzzzzzzzzzzzz10z: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b00000zzzzzzzzzzzzzzzzzz100z: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b00000zzzzzzzzzzzzzzzzz1000z: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b00000zzzzzzzzzzzzzzzz10000z: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b00000zzzzzzzzzzzzzzz100000z: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b00000zzzzzzzzzzzzzz1000000z: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b00000zzzzzzzzzzzzz10000000z: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b00000zzzzzzzzzzzz100000000z: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b00000zzzzzzzzzzz1000000000z: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b00000zzzzzzzzzz10000000000z: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b00000zzzzzzzzz100000000000z: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b00000zzzzzzzz1000000000000z: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b00000zzzzzzz10000000000000z: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b00000zzzzzz100000000000000z: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b00000zzzzz1000000000000000z: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b00000zzzz10000000000000000z: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b00000zzz100000000000000000z: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b00000zz1000000000000000000z: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b00000z10000000000000000000z: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b00000100000000000000000000z: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b000000000000000000000000001: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b00001zzzzzzzzzzzzzzzzzzz1zz: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b00001zzzzzzzzzzzzzzzzzz10zz: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b00001zzzzzzzzzzzzzzzzz100zz: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b00001zzzzzzzzzzzzzzzz1000zz: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b00001zzzzzzzzzzzzzzz10000zz: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b00001zzzzzzzzzzzzzz100000zz: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b00001zzzzzzzzzzzzz1000000zz: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b00001zzzzzzzzzzzz10000000zz: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b00001zzzzzzzzzzz100000000zz: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b00001zzzzzzzzzz1000000000zz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b00001zzzzzzzzz10000000000zz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b00001zzzzzzzz100000000000zz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b00001zzzzzzz1000000000000zz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b00001zzzzzz10000000000000zz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b00001zzzzz100000000000000zz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b00001zzzz1000000000000000zz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b00001zzz10000000000000000zz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b00001zz100000000000000000zz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b00001z1000000000000000000zz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b0000110000000000000000000zz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b0000100000000000000000000z1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b000010000000000000000000010: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b00010zzzzzzzzzzzzzzzzzz1zzz: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b00010zzzzzzzzzzzzzzzzz10zzz: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b00010zzzzzzzzzzzzzzzz100zzz: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b00010zzzzzzzzzzzzzzz1000zzz: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b00010zzzzzzzzzzzzzz10000zzz: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b00010zzzzzzzzzzzzz100000zzz: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b00010zzzzzzzzzzzz1000000zzz: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b00010zzzzzzzzzzz10000000zzz: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b00010zzzzzzzzzz100000000zzz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b00010zzzzzzzzz1000000000zzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b00010zzzzzzzz10000000000zzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b00010zzzzzzz100000000000zzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b00010zzzzzz1000000000000zzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b00010zzzzz10000000000000zzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b00010zzzz100000000000000zzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b00010zzz1000000000000000zzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b00010zz10000000000000000zzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b00010z100000000000000000zzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b000101000000000000000000zzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b000100000000000000000000zz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b000100000000000000000000z10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b000100000000000000000000100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b00011zzzzzzzzzzzzzzzzz1zzzz: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b00011zzzzzzzzzzzzzzzz10zzzz: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b00011zzzzzzzzzzzzzzz100zzzz: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b00011zzzzzzzzzzzzzz1000zzzz: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b00011zzzzzzzzzzzzz10000zzzz: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b00011zzzzzzzzzzzz100000zzzz: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b00011zzzzzzzzzzz1000000zzzz: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b00011zzzzzzzzzz10000000zzzz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b00011zzzzzzzzz100000000zzzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b00011zzzzzzzz1000000000zzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b00011zzzzzzz10000000000zzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b00011zzzzzz100000000000zzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b00011zzzzz1000000000000zzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b00011zzzz10000000000000zzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b00011zzz100000000000000zzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b00011zz1000000000000000zzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b00011z10000000000000000zzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b00011100000000000000000zzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b00011000000000000000000zzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b00011000000000000000000zz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b00011000000000000000000z100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b000110000000000000000001000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b00100zzzzzzzzzzzzzzzz1zzzzz: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b00100zzzzzzzzzzzzzzz10zzzzz: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b00100zzzzzzzzzzzzzz100zzzzz: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b00100zzzzzzzzzzzzz1000zzzzz: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b00100zzzzzzzzzzzz10000zzzzz: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b00100zzzzzzzzzzz100000zzzzz: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b00100zzzzzzzzzz1000000zzzzz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b00100zzzzzzzzz10000000zzzzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b00100zzzzzzzz100000000zzzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b00100zzzzzzz1000000000zzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b00100zzzzzz10000000000zzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b00100zzzzz100000000000zzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b00100zzzz1000000000000zzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b00100zzz10000000000000zzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b00100zz100000000000000zzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b00100z1000000000000000zzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b0010010000000000000000zzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b0010000000000000000000zzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b0010000000000000000000zzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b0010000000000000000000zz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b0010000000000000000000z1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b001000000000000000000010000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b00101zzzzzzzzzzzzzzz1zzzzzz: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b00101zzzzzzzzzzzzzz10zzzzzz: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b00101zzzzzzzzzzzzz100zzzzzz: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b00101zzzzzzzzzzzz1000zzzzzz: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b00101zzzzzzzzzzz10000zzzzzz: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b00101zzzzzzzzzz100000zzzzzz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b00101zzzzzzzzz1000000zzzzzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b00101zzzzzzzz10000000zzzzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b00101zzzzzzz100000000zzzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b00101zzzzzz1000000000zzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b00101zzzzz10000000000zzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b00101zzzz100000000000zzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b00101zzz1000000000000zzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b00101zz10000000000000zzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b00101z100000000000000zzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b001011000000000000000zzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b001010000000000000000zzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b001010000000000000000zzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b001010000000000000000zzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b001010000000000000000zz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b001010000000000000000z10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b001010000000000000000100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b00110zzzzzzzzzzzzzz1zzzzzzz: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b00110zzzzzzzzzzzzz10zzzzzzz: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b00110zzzzzzzzzzzz100zzzzzzz: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b00110zzzzzzzzzzz1000zzzzzzz: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b00110zzzzzzzzzz10000zzzzzzz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b00110zzzzzzzzz100000zzzzzzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b00110zzzzzzzz1000000zzzzzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b00110zzzzzzz10000000zzzzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b00110zzzzzz100000000zzzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b00110zzzzz1000000000zzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b00110zzzz10000000000zzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b00110zzz100000000000zzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b00110zz1000000000000zzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b00110z10000000000000zzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b00110100000000000000zzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b00110000000000000000zzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b00110000000000000000zzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b00110000000000000000zzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b00110000000000000000zzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b00110000000000000000zz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b00110000000000000000z100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b001100000000000000001000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b00111zzzzzzzzzzzzz1zzzzzzzz: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b00111zzzzzzzzzzzz10zzzzzzzz: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b00111zzzzzzzzzzz100zzzzzzzz: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b00111zzzzzzzzzz1000zzzzzzzz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b00111zzzzzzzzz10000zzzzzzzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b00111zzzzzzzz100000zzzzzzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b00111zzzzzzz1000000zzzzzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b00111zzzzzz10000000zzzzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b00111zzzzz100000000zzzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b00111zzzz1000000000zzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b00111zzz10000000000zzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b00111zz100000000000zzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b00111z1000000000000zzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b0011110000000000000zzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b0011100000000000000zzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b0011100000000000000zzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b0011100000000000000zzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b0011100000000000000zzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b0011100000000000000zzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b0011100000000000000zz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b0011100000000000000z1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b001110000000000000010000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b01000zzzzzzzzzzzz1zzzzzzzzz: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b01000zzzzzzzzzzz10zzzzzzzzz: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b01000zzzzzzzzzz100zzzzzzzzz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b01000zzzzzzzzz1000zzzzzzzzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b01000zzzzzzzz10000zzzzzzzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b01000zzzzzzz100000zzzzzzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b01000zzzzzz1000000zzzzzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b01000zzzzz10000000zzzzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b01000zzzz100000000zzzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b01000zzz1000000000zzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b01000zz10000000000zzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b01000z100000000000zzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b010001000000000000zzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b010000000000000000zzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b010000000000000000zzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b010000000000000000zzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b010000000000000000zzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b010000000000000000zzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b010000000000000000zzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b010000000000000000zz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b010000000000000000z10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b010000000000000000100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b01001zzzzzzzzzzz1zzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b01001zzzzzzzzzz10zzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b01001zzzzzzzzz100zzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b01001zzzzzzzz1000zzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b01001zzzzzzz10000zzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b01001zzzzzz100000zzzzzzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b01001zzzzz1000000zzzzzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b01001zzzz10000000zzzzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b01001zzz100000000zzzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b01001zz1000000000zzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b01001z10000000000zzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b01001100000000000zzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b01001000000000000zzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b01001000000000000zzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b01001000000000000zzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b01001000000000000zzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b01001000000000000zzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b01001000000000000zzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b01001000000000000zzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b01001000000000000zz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b01001000000000000z100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b010010000000000001000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b01010zzzzzzzzzz1zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b01010zzzzzzzzz10zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b01010zzzzzzzz100zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b01010zzzzzzz1000zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b01010zzzzzz10000zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b01010zzzzz100000zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b01010zzzz1000000zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b01010zzz10000000zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b01010zz100000000zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b01010z1000000000zzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b0101010000000000zzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b0101000000000000zzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b0101000000000000zzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b0101000000000000zzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b0101000000000000zzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b0101000000000000zzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b0101000000000000zzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b0101000000000000zzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b0101000000000000zzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b0101000000000000zz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b0101000000000000z1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b010100000000000010000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b01011zzzzzzzzz1zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b01011zzzzzzzz10zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b01011zzzzzzz100zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b01011zzzzzz1000zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b01011zzzzz10000zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b01011zzzz100000zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b01011zzz1000000zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b01011zz10000000zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b01011z100000000zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b010111000000000zzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b010110000000000zzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b010110000000000zzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b010110000000000zzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b010110000000000zzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b010110000000000zzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b010110000000000zzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b010110000000000zzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b010110000000000zzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b010110000000000zzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b010110000000000zz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b010110000000000z10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b010110000000000100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b01100zzzzzzzz1zzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b01100zzzzzzz10zzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b01100zzzzzz100zzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b01100zzzzz1000zzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b01100zzzz10000zzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b01100zzz100000zzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b01100zz1000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b01100z10000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b01100100000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b01100000000000zzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b01100000000000zzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b01100000000000zzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b01100000000000zzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b01100000000000zzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b01100000000000zzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b01100000000000zzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b01100000000000zzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b01100000000000zzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b01100000000000zzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b01100000000000zz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b01100000000000z100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b011000000000001000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b01101zzzzzzz1zzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b01101zzzzzz10zzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b01101zzzzz100zzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b01101zzzz1000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b01101zzz10000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b01101zz100000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b01101z1000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b0110110000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b0110100000000zzzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b0110100000000zzzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b0110100000000zzzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b0110100000000zzzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b0110100000000zzzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b0110100000000zzzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b0110100000000zzzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b0110100000000zzzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b0110100000000zzzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b0110100000000zzzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b0110100000000zzz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b0110100000000zz100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b0110100000000z1000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b011010000000010000000000000: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b01110zzzzzz1zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b01110zzzzz10zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b01110zzzz100zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b01110zzz1000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b01110zz10000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b01110z100000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b011101000000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b011100000000zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b011100000000zzzzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b011100000000zzzzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b011100000000zzzzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b011100000000zzzzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b011100000000zzzzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b011100000000zzzzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b011100000000zzzzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b011100000000zzzzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b011100000000zzzzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b011100000000zzzz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b011100000000zzz100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b011100000000zz1000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b011100000000z10000000000000: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b011100000000100000000000000: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b01111zzzzz1zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b01111zzzz10zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b01111zzz100zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b01111zz1000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b01111z10000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b01111100000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b01111000000zzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b01111000000zzzzzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b01111000000zzzzzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b01111000000zzzzzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b01111000000zzzzzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b01111000000zzzzzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b01111000000zzzzzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b01111000000zzzzzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b01111000000zzzzzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b01111000000zzzzzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b01111000000zzzzz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b01111000000zzzz100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b01111000000zzz1000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b01111000000zz10000000000000: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b01111000000z100000000000000: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b011110000001000000000000000: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b10000zzzz1zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b10000zzz10zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b10000zz100zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b10000z1000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b1000010000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b1000000000zzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b1000000000zzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b1000000000zzzzzzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b1000000000zzzzzzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b1000000000zzzzzzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b1000000000zzzzzzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b1000000000zzzzzzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b1000000000zzzzzzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b1000000000zzzzzzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b1000000000zzzzzzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b1000000000zzzzzz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b1000000000zzzzz100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b1000000000zzzz1000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b1000000000zzz10000000000000: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b1000000000zz100000000000000: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b1000000000z1000000000000000: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b100000000010000000000000000: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b10001zzz1zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b10001zz10zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b10001z100zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b100011000zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b100010000zzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b100010000zzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b100010000zzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b100010000zzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b100010000zzzzzzzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b100010000zzzzzzzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b100010000zzzzzzzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b100010000zzzzzzzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b100010000zzzzzzzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b100010000zzzzzzzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b100010000zzzzzzz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b100010000zzzzzz100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b100010000zzzzz1000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b100010000zzzz10000000000000: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b100010000zzz100000000000000: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b100010000zz1000000000000000: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b100010000z10000000000000000: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b100010000100000000000000000: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b10010zz1zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b10010z10zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b10010100zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b10010000zzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b10010000zzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b10010000zzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b10010000zzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b10010000zzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b10010000zzzzzzzzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b10010000zzzzzzzzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b10010000zzzzzzzzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b10010000zzzzzzzzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b10010000zzzzzzzzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b10010000zzzzzzzz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b10010000zzzzzzz100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b10010000zzzzzz1000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b10010000zzzzz10000000000000: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b10010000zzzz100000000000000: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b10010000zzz1000000000000000: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b10010000zz10000000000000000: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b10010000z100000000000000000: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b100100001000000000000000000: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b10011z1zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b1001110zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b1001100zzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b1001100zzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b1001100zzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b1001100zzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b1001100zzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b1001100zzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b1001100zzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b1001100zzzzzzzzzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b1001100zzzzzzzzzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b1001100zzzzzzzzzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b1001100zzzzzzzzz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b1001100zzzzzzzz100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b1001100zzzzzzz1000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b1001100zzzzzz10000000000000: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b1001100zzzzz100000000000000: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b1001100zzzz1000000000000000: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b1001100zzz10000000000000000: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b1001100zz100000000000000000: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b1001100z1000000000000000000: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b100110010000000000000000000: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b101001zzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 27'b101000zzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b101000zzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b101000zzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b101000zzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b101000zzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b101000zzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b101000zzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b101000zzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b101000zzzzzzzzzzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b101000zzzzzzzzzzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b101000zzzzzzzzzz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b101000zzzzzzzzz100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b101000zzzzzzzz1000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b101000zzzzzzz10000000000000: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b101000zzzzzz100000000000000: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b101000zzzzz1000000000000000: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b101000zzzz10000000000000000: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b101000zzz100000000000000000: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b101000zz1000000000000000000: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b101000z10000000000000000000: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b101000100000000000000000000: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b10101zzzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 22'b0000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 27'b10101zzzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 22'b0000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 27'b10101zzzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 22'b0000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 27'b10101zzzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 22'b0000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 27'b10101zzzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 22'b0000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 27'b10101zzzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 22'b0000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 27'b10101zzzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 22'b0000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 27'b10101zzzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 22'b0000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 27'b10101zzzzzzzzzzzzz100000000: begin + sel_one_hot_n = 22'b0000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 27'b10101zzzzzzzzzzzz1000000000: begin + sel_one_hot_n = 22'b0000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 27'b10101zzzzzzzzzzz10000000000: begin + sel_one_hot_n = 22'b0000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 27'b10101zzzzzzzzzz100000000000: begin + sel_one_hot_n = 22'b0000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 27'b10101zzzzzzzzz1000000000000: begin + sel_one_hot_n = 22'b0000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 27'b10101zzzzzzzz10000000000000: begin + sel_one_hot_n = 22'b0000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 27'b10101zzzzzzz100000000000000: begin + sel_one_hot_n = 22'b0000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 27'b10101zzzzzz1000000000000000: begin + sel_one_hot_n = 22'b0000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 27'b10101zzzzz10000000000000000: begin + sel_one_hot_n = 22'b0000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 27'b10101zzzz100000000000000000: begin + sel_one_hot_n = 22'b0000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 27'b10101zzz1000000000000000000: begin + sel_one_hot_n = 22'b0001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 27'b10101zz10000000000000000000: begin + sel_one_hot_n = 22'b0010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 27'b10101z100000000000000000000: begin + sel_one_hot_n = 22'b0100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 27'b101011000000000000000000000: begin + sel_one_hot_n = 22'b1000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + default: begin + sel_one_hot_n = {22 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {22 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 5'b00000: hold_on_sr = reqs_i == 22'b0100000000000000000000; + 5'b00001: hold_on_sr = reqs_i == 22'b0010000000000000000000; + 5'b00010: hold_on_sr = reqs_i == 22'b0001000000000000000000; + 5'b00011: hold_on_sr = reqs_i == 22'b0000100000000000000000; + 5'b00100: hold_on_sr = reqs_i == 22'b0000010000000000000000; + 5'b00101: hold_on_sr = reqs_i == 22'b0000001000000000000000; + 5'b00110: hold_on_sr = reqs_i == 22'b0000000100000000000000; + 5'b00111: hold_on_sr = reqs_i == 22'b0000000010000000000000; + 5'b01000: hold_on_sr = reqs_i == 22'b0000000001000000000000; + 5'b01001: hold_on_sr = reqs_i == 22'b0000000000100000000000; + 5'b01010: hold_on_sr = reqs_i == 22'b0000000000010000000000; + 5'b01011: hold_on_sr = reqs_i == 22'b0000000000001000000000; + 5'b01100: hold_on_sr = reqs_i == 22'b0000000000000100000000; + 5'b01101: hold_on_sr = reqs_i == 22'b0000000000000010000000; + 5'b01110: hold_on_sr = reqs_i == 22'b0000000000000001000000; + 5'b01111: hold_on_sr = reqs_i == 22'b0000000000000000100000; + 5'b10000: hold_on_sr = reqs_i == 22'b0000000000000000010000; + 5'b10001: hold_on_sr = reqs_i == 22'b0000000000000000001000; + 5'b10010: hold_on_sr = reqs_i == 22'b0000000000000000000100; + 5'b10011: hold_on_sr = reqs_i == 22'b0000000000000000000010; + 5'b10100: hold_on_sr = reqs_i == 22'b0000000000000000000001; + 5'b10101: hold_on_sr = reqs_i == 22'b1000000000000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_22 + assign reset_on_sr = (((((((((((((((((((((reqs_i == 22'b0100000000000000000000) | (reqs_i == 22'b0010000000000000000000)) | (reqs_i == 22'b0001000000000000000000)) | (reqs_i == 22'b0000100000000000000000)) | (reqs_i == 22'b0000010000000000000000)) | (reqs_i == 22'b0000001000000000000000)) | (reqs_i == 22'b0000000100000000000000)) | (reqs_i == 22'b0000000010000000000000)) | (reqs_i == 22'b0000000001000000000000)) | (reqs_i == 22'b0000000000100000000000)) | (reqs_i == 22'b0000000000010000000000)) | (reqs_i == 22'b0000000000001000000000)) | (reqs_i == 22'b0000000000000100000000)) | (reqs_i == 22'b0000000000000010000000)) | (reqs_i == 22'b0000000000000001000000)) | (reqs_i == 22'b0000000000000000100000)) | (reqs_i == 22'b0000000000000000010000)) | (reqs_i == 22'b0000000000000000001000)) | (reqs_i == 22'b0000000000000000000100)) | (reqs_i == 22'b0000000000000000000010)) | (reqs_i == 22'b0000000000000000000001)) | (reqs_i == 22'b1000000000000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 23) begin : inputs_23 + reg [22:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 28'bzzzzz00000000000000000000000: begin + sel_one_hot_n = 23'b00000000000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b00000zzzzzzzzzzzzzzzzzzzzz1z: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b00000zzzzzzzzzzzzzzzzzzzz10z: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b00000zzzzzzzzzzzzzzzzzzz100z: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b00000zzzzzzzzzzzzzzzzzz1000z: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b00000zzzzzzzzzzzzzzzzz10000z: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b00000zzzzzzzzzzzzzzzz100000z: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b00000zzzzzzzzzzzzzzz1000000z: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b00000zzzzzzzzzzzzzz10000000z: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b00000zzzzzzzzzzzzz100000000z: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b00000zzzzzzzzzzzz1000000000z: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b00000zzzzzzzzzzz10000000000z: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b00000zzzzzzzzzz100000000000z: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b00000zzzzzzzzz1000000000000z: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b00000zzzzzzzz10000000000000z: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b00000zzzzzzz100000000000000z: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b00000zzzzzz1000000000000000z: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b00000zzzzz10000000000000000z: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b00000zzzz100000000000000000z: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b00000zzz1000000000000000000z: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b00000zz10000000000000000000z: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b00000z100000000000000000000z: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b000001000000000000000000000z: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b0000000000000000000000000001: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b00001zzzzzzzzzzzzzzzzzzzz1zz: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b00001zzzzzzzzzzzzzzzzzzz10zz: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b00001zzzzzzzzzzzzzzzzzz100zz: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b00001zzzzzzzzzzzzzzzzz1000zz: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b00001zzzzzzzzzzzzzzzz10000zz: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b00001zzzzzzzzzzzzzzz100000zz: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b00001zzzzzzzzzzzzzz1000000zz: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b00001zzzzzzzzzzzzz10000000zz: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b00001zzzzzzzzzzzz100000000zz: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b00001zzzzzzzzzzz1000000000zz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b00001zzzzzzzzzz10000000000zz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b00001zzzzzzzzz100000000000zz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b00001zzzzzzzz1000000000000zz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b00001zzzzzzz10000000000000zz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b00001zzzzzz100000000000000zz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b00001zzzzz1000000000000000zz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b00001zzzz10000000000000000zz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b00001zzz100000000000000000zz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b00001zz1000000000000000000zz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b00001z10000000000000000000zz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b00001100000000000000000000zz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b00001000000000000000000000z1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b0000100000000000000000000010: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b00010zzzzzzzzzzzzzzzzzzz1zzz: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b00010zzzzzzzzzzzzzzzzzz10zzz: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b00010zzzzzzzzzzzzzzzzz100zzz: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b00010zzzzzzzzzzzzzzzz1000zzz: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b00010zzzzzzzzzzzzzzz10000zzz: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b00010zzzzzzzzzzzzzz100000zzz: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b00010zzzzzzzzzzzzz1000000zzz: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b00010zzzzzzzzzzzz10000000zzz: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b00010zzzzzzzzzzz100000000zzz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b00010zzzzzzzzzz1000000000zzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b00010zzzzzzzzz10000000000zzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b00010zzzzzzzz100000000000zzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b00010zzzzzzz1000000000000zzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b00010zzzzzz10000000000000zzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b00010zzzzz100000000000000zzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b00010zzzz1000000000000000zzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b00010zzz10000000000000000zzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b00010zz100000000000000000zzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b00010z1000000000000000000zzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b0001010000000000000000000zzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b0001000000000000000000000zz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b0001000000000000000000000z10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b0001000000000000000000000100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b00011zzzzzzzzzzzzzzzzzz1zzzz: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b00011zzzzzzzzzzzzzzzzz10zzzz: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b00011zzzzzzzzzzzzzzzz100zzzz: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b00011zzzzzzzzzzzzzzz1000zzzz: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b00011zzzzzzzzzzzzzz10000zzzz: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b00011zzzzzzzzzzzzz100000zzzz: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b00011zzzzzzzzzzzz1000000zzzz: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b00011zzzzzzzzzzz10000000zzzz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b00011zzzzzzzzzz100000000zzzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b00011zzzzzzzzz1000000000zzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b00011zzzzzzzz10000000000zzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b00011zzzzzzz100000000000zzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b00011zzzzzz1000000000000zzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b00011zzzzz10000000000000zzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b00011zzzz100000000000000zzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b00011zzz1000000000000000zzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b00011zz10000000000000000zzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b00011z100000000000000000zzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b000111000000000000000000zzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b000110000000000000000000zzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b000110000000000000000000zz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b000110000000000000000000z100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b0001100000000000000000001000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b00100zzzzzzzzzzzzzzzzz1zzzzz: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b00100zzzzzzzzzzzzzzzz10zzzzz: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b00100zzzzzzzzzzzzzzz100zzzzz: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b00100zzzzzzzzzzzzzz1000zzzzz: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b00100zzzzzzzzzzzzz10000zzzzz: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b00100zzzzzzzzzzzz100000zzzzz: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b00100zzzzzzzzzzz1000000zzzzz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b00100zzzzzzzzzz10000000zzzzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b00100zzzzzzzzz100000000zzzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b00100zzzzzzzz1000000000zzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b00100zzzzzzz10000000000zzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b00100zzzzzz100000000000zzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b00100zzzzz1000000000000zzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b00100zzzz10000000000000zzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b00100zzz100000000000000zzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b00100zz1000000000000000zzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b00100z10000000000000000zzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b00100100000000000000000zzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b00100000000000000000000zzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b00100000000000000000000zzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b00100000000000000000000zz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b00100000000000000000000z1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b0010000000000000000000010000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b00101zzzzzzzzzzzzzzzz1zzzzzz: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b00101zzzzzzzzzzzzzzz10zzzzzz: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b00101zzzzzzzzzzzzzz100zzzzzz: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b00101zzzzzzzzzzzzz1000zzzzzz: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b00101zzzzzzzzzzzz10000zzzzzz: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b00101zzzzzzzzzzz100000zzzzzz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b00101zzzzzzzzzz1000000zzzzzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b00101zzzzzzzzz10000000zzzzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b00101zzzzzzzz100000000zzzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b00101zzzzzzz1000000000zzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b00101zzzzzz10000000000zzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b00101zzzzz100000000000zzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b00101zzzz1000000000000zzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b00101zzz10000000000000zzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b00101zz100000000000000zzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b00101z1000000000000000zzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b0010110000000000000000zzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b0010100000000000000000zzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b0010100000000000000000zzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b0010100000000000000000zzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b0010100000000000000000zz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b0010100000000000000000z10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b0010100000000000000000100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b00110zzzzzzzzzzzzzzz1zzzzzzz: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b00110zzzzzzzzzzzzzz10zzzzzzz: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b00110zzzzzzzzzzzzz100zzzzzzz: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b00110zzzzzzzzzzzz1000zzzzzzz: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b00110zzzzzzzzzzz10000zzzzzzz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b00110zzzzzzzzzz100000zzzzzzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b00110zzzzzzzzz1000000zzzzzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b00110zzzzzzzz10000000zzzzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b00110zzzzzzz100000000zzzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b00110zzzzzz1000000000zzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b00110zzzzz10000000000zzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b00110zzzz100000000000zzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b00110zzz1000000000000zzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b00110zz10000000000000zzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b00110z100000000000000zzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b001101000000000000000zzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b001100000000000000000zzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b001100000000000000000zzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b001100000000000000000zzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b001100000000000000000zzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b001100000000000000000zz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b001100000000000000000z100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b0011000000000000000001000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b00111zzzzzzzzzzzzzz1zzzzzzzz: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b00111zzzzzzzzzzzzz10zzzzzzzz: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b00111zzzzzzzzzzzz100zzzzzzzz: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b00111zzzzzzzzzzz1000zzzzzzzz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b00111zzzzzzzzzz10000zzzzzzzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b00111zzzzzzzzz100000zzzzzzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b00111zzzzzzzz1000000zzzzzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b00111zzzzzzz10000000zzzzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b00111zzzzzz100000000zzzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b00111zzzzz1000000000zzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b00111zzzz10000000000zzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b00111zzz100000000000zzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b00111zz1000000000000zzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b00111z10000000000000zzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b00111100000000000000zzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b00111000000000000000zzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b00111000000000000000zzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b00111000000000000000zzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b00111000000000000000zzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b00111000000000000000zzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b00111000000000000000zz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b00111000000000000000z1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b0011100000000000000010000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b01000zzzzzzzzzzzzz1zzzzzzzzz: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b01000zzzzzzzzzzzz10zzzzzzzzz: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b01000zzzzzzzzzzz100zzzzzzzzz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b01000zzzzzzzzzz1000zzzzzzzzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b01000zzzzzzzzz10000zzzzzzzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b01000zzzzzzzz100000zzzzzzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b01000zzzzzzz1000000zzzzzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b01000zzzzzz10000000zzzzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b01000zzzzz100000000zzzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b01000zzzz1000000000zzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b01000zzz10000000000zzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b01000zz100000000000zzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b01000z1000000000000zzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b0100010000000000000zzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b0100000000000000000zzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b0100000000000000000zzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b0100000000000000000zzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b0100000000000000000zzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b0100000000000000000zzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b0100000000000000000zzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b0100000000000000000zz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b0100000000000000000z10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b0100000000000000000100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b01001zzzzzzzzzzzz1zzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b01001zzzzzzzzzzz10zzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b01001zzzzzzzzzz100zzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b01001zzzzzzzzz1000zzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b01001zzzzzzzz10000zzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b01001zzzzzzz100000zzzzzzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b01001zzzzzz1000000zzzzzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b01001zzzzz10000000zzzzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b01001zzzz100000000zzzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b01001zzz1000000000zzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b01001zz10000000000zzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b01001z100000000000zzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b010011000000000000zzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b010010000000000000zzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b010010000000000000zzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b010010000000000000zzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b010010000000000000zzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b010010000000000000zzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b010010000000000000zzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b010010000000000000zzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b010010000000000000zz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b010010000000000000z100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b0100100000000000001000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b01010zzzzzzzzzzz1zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b01010zzzzzzzzzz10zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b01010zzzzzzzzz100zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b01010zzzzzzzz1000zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b01010zzzzzzz10000zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b01010zzzzzz100000zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b01010zzzzz1000000zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b01010zzzz10000000zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b01010zzz100000000zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b01010zz1000000000zzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b01010z10000000000zzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b01010100000000000zzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b01010000000000000zzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b01010000000000000zzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b01010000000000000zzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b01010000000000000zzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b01010000000000000zzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b01010000000000000zzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b01010000000000000zzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b01010000000000000zzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b01010000000000000zz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b01010000000000000z1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b0101000000000000010000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b01011zzzzzzzzzz1zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b01011zzzzzzzzz10zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b01011zzzzzzzz100zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b01011zzzzzzz1000zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b01011zzzzzz10000zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b01011zzzzz100000zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b01011zzzz1000000zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b01011zzz10000000zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b01011zz100000000zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b01011z1000000000zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b0101110000000000zzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b0101100000000000zzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b0101100000000000zzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b0101100000000000zzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b0101100000000000zzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b0101100000000000zzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b0101100000000000zzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b0101100000000000zzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b0101100000000000zzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b0101100000000000zzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b0101100000000000zz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b0101100000000000z10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b0101100000000000100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b01100zzzzzzzzz1zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b01100zzzzzzzz10zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b01100zzzzzzz100zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b01100zzzzzz1000zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b01100zzzzz10000zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b01100zzzz100000zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b01100zzz1000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b01100zz10000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b01100z100000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b011001000000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b011000000000000zzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b011000000000000zzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b011000000000000zzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b011000000000000zzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b011000000000000zzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b011000000000000zzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b011000000000000zzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b011000000000000zzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b011000000000000zzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b011000000000000zzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b011000000000000zz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b011000000000000z100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b0110000000000001000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b01101zzzzzzzz1zzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b01101zzzzzzz10zzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b01101zzzzzz100zzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b01101zzzzz1000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b01101zzzz10000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b01101zzz100000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b01101zz1000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b01101z10000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b01101100000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b01101000000000zzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b01101000000000zzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b01101000000000zzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b01101000000000zzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b01101000000000zzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b01101000000000zzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b01101000000000zzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b01101000000000zzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b01101000000000zzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b01101000000000zzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b01101000000000zzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b01101000000000zz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b01101000000000z1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b0110100000000010000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b01110zzzzzzz1zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b01110zzzzzz10zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b01110zzzzz100zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b01110zzzz1000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b01110zzz10000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b01110zz100000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b01110z1000000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b0111010000000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b0111000000000zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b0111000000000zzzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b0111000000000zzzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b0111000000000zzzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b0111000000000zzzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b0111000000000zzzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b0111000000000zzzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b0111000000000zzzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b0111000000000zzzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b0111000000000zzzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b0111000000000zzzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b0111000000000zzz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b0111000000000zz1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b0111000000000z10000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b0111000000000100000000000000: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b01111zzzzzz1zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b01111zzzzz10zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b01111zzzz100zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b01111zzz1000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b01111zz10000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b01111z100000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b011111000000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b011110000000zzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b011110000000zzzzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b011110000000zzzzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b011110000000zzzzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b011110000000zzzzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b011110000000zzzzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b011110000000zzzzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b011110000000zzzzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b011110000000zzzzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b011110000000zzzzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b011110000000zzzzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b011110000000zzzz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b011110000000zzz1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b011110000000zz10000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b011110000000z100000000000000: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b0111100000001000000000000000: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b10000zzzzz1zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b10000zzzz10zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b10000zzz100zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b10000zz1000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b10000z10000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b10000100000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b10000000000zzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b10000000000zzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b10000000000zzzzzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b10000000000zzzzzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b10000000000zzzzzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b10000000000zzzzzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b10000000000zzzzzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b10000000000zzzzzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b10000000000zzzzzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b10000000000zzzzzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b10000000000zzzzzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b10000000000zzzzz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b10000000000zzzz1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b10000000000zzz10000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b10000000000zz100000000000000: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b10000000000z1000000000000000: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b1000000000010000000000000000: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b10001zzzz1zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b10001zzz10zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b10001zz100zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b10001z1000zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b1000110000zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b1000100000zzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b1000100000zzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b1000100000zzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b1000100000zzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b1000100000zzzzzzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b1000100000zzzzzzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b1000100000zzzzzzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b1000100000zzzzzzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b1000100000zzzzzzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b1000100000zzzzzzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b1000100000zzzzzzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b1000100000zzzzzz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b1000100000zzzzz1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b1000100000zzzz10000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b1000100000zzz100000000000000: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b1000100000zz1000000000000000: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b1000100000z10000000000000000: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b1000100000100000000000000000: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b10010zzz1zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b10010zz10zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b10010z100zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b100101000zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b100100000zzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b100100000zzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b100100000zzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b100100000zzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b100100000zzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b100100000zzzzzzzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b100100000zzzzzzzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b100100000zzzzzzzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b100100000zzzzzzzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b100100000zzzzzzzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b100100000zzzzzzzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b100100000zzzzzzz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b100100000zzzzzz1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b100100000zzzzz10000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b100100000zzzz100000000000000: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b100100000zzz1000000000000000: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b100100000zz10000000000000000: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b100100000z100000000000000000: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b1001000001000000000000000000: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b10011zz1zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b10011z10zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b10011100zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b10011000zzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b10011000zzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b10011000zzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b10011000zzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b10011000zzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b10011000zzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b10011000zzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b10011000zzzzzzzzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b10011000zzzzzzzzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b10011000zzzzzzzzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b10011000zzzzzzzzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b10011000zzzzzzzz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b10011000zzzzzzz1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b10011000zzzzzz10000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b10011000zzzzz100000000000000: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b10011000zzzz1000000000000000: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b10011000zzz10000000000000000: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b10011000zz100000000000000000: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b10011000z1000000000000000000: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b1001100010000000000000000000: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b10100z1zzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b1010010zzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b1010000zzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b1010000zzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b1010000zzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b1010000zzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b1010000zzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b1010000zzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b1010000zzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b1010000zzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b1010000zzzzzzzzzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b1010000zzzzzzzzzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b1010000zzzzzzzzzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b1010000zzzzzzzzz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b1010000zzzzzzzz1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b1010000zzzzzzz10000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b1010000zzzzzz100000000000000: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b1010000zzzzz1000000000000000: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b1010000zzzz10000000000000000: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b1010000zzz100000000000000000: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b1010000zz1000000000000000000: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b1010000z10000000000000000000: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b1010000100000000000000000000: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b101011zzzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 28'b101010zzzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b101010zzzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b101010zzzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b101010zzzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b101010zzzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b101010zzzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b101010zzzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b101010zzzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b101010zzzzzzzzzzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b101010zzzzzzzzzzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b101010zzzzzzzzzzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b101010zzzzzzzzzz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b101010zzzzzzzzz1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b101010zzzzzzzz10000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b101010zzzzzzz100000000000000: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b101010zzzzzz1000000000000000: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b101010zzzzz10000000000000000: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b101010zzzz100000000000000000: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b101010zzz1000000000000000000: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b101010zz10000000000000000000: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b101010z100000000000000000000: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b1010101000000000000000000000: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b10110zzzzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 23'b00000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 28'b10110zzzzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 23'b00000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 28'b10110zzzzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 23'b00000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 28'b10110zzzzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 23'b00000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 28'b10110zzzzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 23'b00000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 28'b10110zzzzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 23'b00000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 28'b10110zzzzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 23'b00000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 28'b10110zzzzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 23'b00000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 28'b10110zzzzzzzzzzzzzz100000000: begin + sel_one_hot_n = 23'b00000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 28'b10110zzzzzzzzzzzzz1000000000: begin + sel_one_hot_n = 23'b00000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 28'b10110zzzzzzzzzzzz10000000000: begin + sel_one_hot_n = 23'b00000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 28'b10110zzzzzzzzzzz100000000000: begin + sel_one_hot_n = 23'b00000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 28'b10110zzzzzzzzzz1000000000000: begin + sel_one_hot_n = 23'b00000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 28'b10110zzzzzzzzz10000000000000: begin + sel_one_hot_n = 23'b00000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 28'b10110zzzzzzzz100000000000000: begin + sel_one_hot_n = 23'b00000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 28'b10110zzzzzzz1000000000000000: begin + sel_one_hot_n = 23'b00000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 28'b10110zzzzzz10000000000000000: begin + sel_one_hot_n = 23'b00000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 28'b10110zzzzz100000000000000000: begin + sel_one_hot_n = 23'b00000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 28'b10110zzzz1000000000000000000: begin + sel_one_hot_n = 23'b00001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 28'b10110zzz10000000000000000000: begin + sel_one_hot_n = 23'b00010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 28'b10110zz100000000000000000000: begin + sel_one_hot_n = 23'b00100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 28'b10110z1000000000000000000000: begin + sel_one_hot_n = 23'b01000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 28'b1011010000000000000000000000: begin + sel_one_hot_n = 23'b10000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + default: begin + sel_one_hot_n = {23 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {23 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 5'b00000: hold_on_sr = reqs_i == 23'b01000000000000000000000; + 5'b00001: hold_on_sr = reqs_i == 23'b00100000000000000000000; + 5'b00010: hold_on_sr = reqs_i == 23'b00010000000000000000000; + 5'b00011: hold_on_sr = reqs_i == 23'b00001000000000000000000; + 5'b00100: hold_on_sr = reqs_i == 23'b00000100000000000000000; + 5'b00101: hold_on_sr = reqs_i == 23'b00000010000000000000000; + 5'b00110: hold_on_sr = reqs_i == 23'b00000001000000000000000; + 5'b00111: hold_on_sr = reqs_i == 23'b00000000100000000000000; + 5'b01000: hold_on_sr = reqs_i == 23'b00000000010000000000000; + 5'b01001: hold_on_sr = reqs_i == 23'b00000000001000000000000; + 5'b01010: hold_on_sr = reqs_i == 23'b00000000000100000000000; + 5'b01011: hold_on_sr = reqs_i == 23'b00000000000010000000000; + 5'b01100: hold_on_sr = reqs_i == 23'b00000000000001000000000; + 5'b01101: hold_on_sr = reqs_i == 23'b00000000000000100000000; + 5'b01110: hold_on_sr = reqs_i == 23'b00000000000000010000000; + 5'b01111: hold_on_sr = reqs_i == 23'b00000000000000001000000; + 5'b10000: hold_on_sr = reqs_i == 23'b00000000000000000100000; + 5'b10001: hold_on_sr = reqs_i == 23'b00000000000000000010000; + 5'b10010: hold_on_sr = reqs_i == 23'b00000000000000000001000; + 5'b10011: hold_on_sr = reqs_i == 23'b00000000000000000000100; + 5'b10100: hold_on_sr = reqs_i == 23'b00000000000000000000010; + 5'b10101: hold_on_sr = reqs_i == 23'b00000000000000000000001; + 5'b10110: hold_on_sr = reqs_i == 23'b10000000000000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_23 + assign reset_on_sr = ((((((((((((((((((((((reqs_i == 23'b01000000000000000000000) | (reqs_i == 23'b00100000000000000000000)) | (reqs_i == 23'b00010000000000000000000)) | (reqs_i == 23'b00001000000000000000000)) | (reqs_i == 23'b00000100000000000000000)) | (reqs_i == 23'b00000010000000000000000)) | (reqs_i == 23'b00000001000000000000000)) | (reqs_i == 23'b00000000100000000000000)) | (reqs_i == 23'b00000000010000000000000)) | (reqs_i == 23'b00000000001000000000000)) | (reqs_i == 23'b00000000000100000000000)) | (reqs_i == 23'b00000000000010000000000)) | (reqs_i == 23'b00000000000001000000000)) | (reqs_i == 23'b00000000000000100000000)) | (reqs_i == 23'b00000000000000010000000)) | (reqs_i == 23'b00000000000000001000000)) | (reqs_i == 23'b00000000000000000100000)) | (reqs_i == 23'b00000000000000000010000)) | (reqs_i == 23'b00000000000000000001000)) | (reqs_i == 23'b00000000000000000000100)) | (reqs_i == 23'b00000000000000000000010)) | (reqs_i == 23'b00000000000000000000001)) | (reqs_i == 23'b10000000000000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + if (inputs_p == 24) begin : inputs_24 + reg [23:0] sel_one_hot_n; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({last_r, reqs_i}) + 29'bzzzzz000000000000000000000000: begin + sel_one_hot_n = 24'b000000000000000000000000; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b00000zzzzzzzzzzzzzzzzzzzzzz1z: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b00000zzzzzzzzzzzzzzzzzzzzz10z: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b00000zzzzzzzzzzzzzzzzzzzz100z: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b00000zzzzzzzzzzzzzzzzzzz1000z: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b00000zzzzzzzzzzzzzzzzzz10000z: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b00000zzzzzzzzzzzzzzzzz100000z: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b00000zzzzzzzzzzzzzzzz1000000z: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b00000zzzzzzzzzzzzzzz10000000z: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b00000zzzzzzzzzzzzzz100000000z: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b00000zzzzzzzzzzzzz1000000000z: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b00000zzzzzzzzzzzz10000000000z: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b00000zzzzzzzzzzz100000000000z: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b00000zzzzzzzzzz1000000000000z: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b00000zzzzzzzzz10000000000000z: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b00000zzzzzzzz100000000000000z: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b00000zzzzzzz1000000000000000z: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b00000zzzzzz10000000000000000z: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b00000zzzzz100000000000000000z: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b00000zzzz1000000000000000000z: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b00000zzz10000000000000000000z: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b00000zz100000000000000000000z: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b00000z1000000000000000000000z: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b0000010000000000000000000000z: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b00000000000000000000000000001: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b00001zzzzzzzzzzzzzzzzzzzzz1zz: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b00001zzzzzzzzzzzzzzzzzzzz10zz: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b00001zzzzzzzzzzzzzzzzzzz100zz: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b00001zzzzzzzzzzzzzzzzzz1000zz: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b00001zzzzzzzzzzzzzzzzz10000zz: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b00001zzzzzzzzzzzzzzzz100000zz: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b00001zzzzzzzzzzzzzzz1000000zz: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b00001zzzzzzzzzzzzzz10000000zz: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b00001zzzzzzzzzzzzz100000000zz: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b00001zzzzzzzzzzzz1000000000zz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b00001zzzzzzzzzzz10000000000zz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b00001zzzzzzzzzz100000000000zz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b00001zzzzzzzzz1000000000000zz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b00001zzzzzzzz10000000000000zz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b00001zzzzzzz100000000000000zz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b00001zzzzzz1000000000000000zz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b00001zzzzz10000000000000000zz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b00001zzzz100000000000000000zz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b00001zzz1000000000000000000zz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b00001zz10000000000000000000zz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b00001z100000000000000000000zz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b000011000000000000000000000zz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b000010000000000000000000000z1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b00001000000000000000000000010: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b00010zzzzzzzzzzzzzzzzzzzz1zzz: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b00010zzzzzzzzzzzzzzzzzzz10zzz: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b00010zzzzzzzzzzzzzzzzzz100zzz: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b00010zzzzzzzzzzzzzzzzz1000zzz: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b00010zzzzzzzzzzzzzzzz10000zzz: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b00010zzzzzzzzzzzzzzz100000zzz: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b00010zzzzzzzzzzzzzz1000000zzz: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b00010zzzzzzzzzzzzz10000000zzz: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b00010zzzzzzzzzzzz100000000zzz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b00010zzzzzzzzzzz1000000000zzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b00010zzzzzzzzzz10000000000zzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b00010zzzzzzzzz100000000000zzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b00010zzzzzzzz1000000000000zzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b00010zzzzzzz10000000000000zzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b00010zzzzzz100000000000000zzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b00010zzzzz1000000000000000zzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b00010zzzz10000000000000000zzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b00010zzz100000000000000000zzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b00010zz1000000000000000000zzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b00010z10000000000000000000zzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b00010100000000000000000000zzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b00010000000000000000000000zz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b00010000000000000000000000z10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b00010000000000000000000000100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b00011zzzzzzzzzzzzzzzzzzz1zzzz: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b00011zzzzzzzzzzzzzzzzzz10zzzz: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b00011zzzzzzzzzzzzzzzzz100zzzz: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b00011zzzzzzzzzzzzzzzz1000zzzz: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b00011zzzzzzzzzzzzzzz10000zzzz: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b00011zzzzzzzzzzzzzz100000zzzz: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b00011zzzzzzzzzzzzz1000000zzzz: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b00011zzzzzzzzzzzz10000000zzzz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b00011zzzzzzzzzzz100000000zzzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b00011zzzzzzzzzz1000000000zzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b00011zzzzzzzzz10000000000zzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b00011zzzzzzzz100000000000zzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b00011zzzzzzz1000000000000zzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b00011zzzzzz10000000000000zzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b00011zzzzz100000000000000zzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b00011zzzz1000000000000000zzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b00011zzz10000000000000000zzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b00011zz100000000000000000zzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b00011z1000000000000000000zzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b0001110000000000000000000zzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b0001100000000000000000000zzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b0001100000000000000000000zz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b0001100000000000000000000z100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b00011000000000000000000001000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b00100zzzzzzzzzzzzzzzzzz1zzzzz: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b00100zzzzzzzzzzzzzzzzz10zzzzz: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b00100zzzzzzzzzzzzzzzz100zzzzz: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b00100zzzzzzzzzzzzzzz1000zzzzz: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b00100zzzzzzzzzzzzzz10000zzzzz: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b00100zzzzzzzzzzzzz100000zzzzz: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b00100zzzzzzzzzzzz1000000zzzzz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b00100zzzzzzzzzzz10000000zzzzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b00100zzzzzzzzzz100000000zzzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b00100zzzzzzzzz1000000000zzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b00100zzzzzzzz10000000000zzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b00100zzzzzzz100000000000zzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b00100zzzzzz1000000000000zzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b00100zzzzz10000000000000zzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b00100zzzz100000000000000zzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b00100zzz1000000000000000zzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b00100zz10000000000000000zzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b00100z100000000000000000zzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b001001000000000000000000zzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b001000000000000000000000zzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b001000000000000000000000zzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b001000000000000000000000zz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b001000000000000000000000z1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b00100000000000000000000010000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b00101zzzzzzzzzzzzzzzzz1zzzzzz: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b00101zzzzzzzzzzzzzzzz10zzzzzz: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b00101zzzzzzzzzzzzzzz100zzzzzz: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b00101zzzzzzzzzzzzzz1000zzzzzz: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b00101zzzzzzzzzzzzz10000zzzzzz: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b00101zzzzzzzzzzzz100000zzzzzz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b00101zzzzzzzzzzz1000000zzzzzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b00101zzzzzzzzzz10000000zzzzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b00101zzzzzzzzz100000000zzzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b00101zzzzzzzz1000000000zzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b00101zzzzzzz10000000000zzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b00101zzzzzz100000000000zzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b00101zzzzz1000000000000zzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b00101zzzz10000000000000zzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b00101zzz100000000000000zzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b00101zz1000000000000000zzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b00101z10000000000000000zzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b00101100000000000000000zzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b00101000000000000000000zzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b00101000000000000000000zzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b00101000000000000000000zzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b00101000000000000000000zz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b00101000000000000000000z10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b00101000000000000000000100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b00110zzzzzzzzzzzzzzzz1zzzzzzz: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b00110zzzzzzzzzzzzzzz10zzzzzzz: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b00110zzzzzzzzzzzzzz100zzzzzzz: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b00110zzzzzzzzzzzzz1000zzzzzzz: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b00110zzzzzzzzzzzz10000zzzzzzz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b00110zzzzzzzzzzz100000zzzzzzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b00110zzzzzzzzzz1000000zzzzzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b00110zzzzzzzzz10000000zzzzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b00110zzzzzzzz100000000zzzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b00110zzzzzzz1000000000zzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b00110zzzzzz10000000000zzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b00110zzzzz100000000000zzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b00110zzzz1000000000000zzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b00110zzz10000000000000zzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b00110zz100000000000000zzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b00110z1000000000000000zzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b0011010000000000000000zzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b0011000000000000000000zzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b0011000000000000000000zzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b0011000000000000000000zzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b0011000000000000000000zzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b0011000000000000000000zz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b0011000000000000000000z100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b00110000000000000000001000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b00111zzzzzzzzzzzzzzz1zzzzzzzz: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b00111zzzzzzzzzzzzzz10zzzzzzzz: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b00111zzzzzzzzzzzzz100zzzzzzzz: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b00111zzzzzzzzzzzz1000zzzzzzzz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b00111zzzzzzzzzzz10000zzzzzzzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b00111zzzzzzzzzz100000zzzzzzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b00111zzzzzzzzz1000000zzzzzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b00111zzzzzzzz10000000zzzzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b00111zzzzzzz100000000zzzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b00111zzzzzz1000000000zzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b00111zzzzz10000000000zzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b00111zzzz100000000000zzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b00111zzz1000000000000zzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b00111zz10000000000000zzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b00111z100000000000000zzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b001111000000000000000zzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b001110000000000000000zzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b001110000000000000000zzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b001110000000000000000zzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b001110000000000000000zzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b001110000000000000000zzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b001110000000000000000zz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b001110000000000000000z1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b00111000000000000000010000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b01000zzzzzzzzzzzzzz1zzzzzzzzz: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b01000zzzzzzzzzzzzz10zzzzzzzzz: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b01000zzzzzzzzzzzz100zzzzzzzzz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b01000zzzzzzzzzzz1000zzzzzzzzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b01000zzzzzzzzzz10000zzzzzzzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b01000zzzzzzzzz100000zzzzzzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b01000zzzzzzzz1000000zzzzzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b01000zzzzzzz10000000zzzzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b01000zzzzzz100000000zzzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b01000zzzzz1000000000zzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b01000zzzz10000000000zzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b01000zzz100000000000zzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b01000zz1000000000000zzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b01000z10000000000000zzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b01000100000000000000zzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b01000000000000000000zzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b01000000000000000000zzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b01000000000000000000zzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b01000000000000000000zzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b01000000000000000000zzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b01000000000000000000zzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b01000000000000000000zz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b01000000000000000000z10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b01000000000000000000100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b01001zzzzzzzzzzzzz1zzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b01001zzzzzzzzzzzz10zzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b01001zzzzzzzzzzz100zzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b01001zzzzzzzzzz1000zzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b01001zzzzzzzzz10000zzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b01001zzzzzzzz100000zzzzzzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b01001zzzzzzz1000000zzzzzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b01001zzzzzz10000000zzzzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b01001zzzzz100000000zzzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b01001zzzz1000000000zzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b01001zzz10000000000zzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b01001zz100000000000zzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b01001z1000000000000zzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b0100110000000000000zzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b0100100000000000000zzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b0100100000000000000zzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b0100100000000000000zzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b0100100000000000000zzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b0100100000000000000zzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b0100100000000000000zzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b0100100000000000000zzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b0100100000000000000zz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b0100100000000000000z100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b01001000000000000001000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b01010zzzzzzzzzzzz1zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b01010zzzzzzzzzzz10zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b01010zzzzzzzzzz100zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b01010zzzzzzzzz1000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b01010zzzzzzzz10000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b01010zzzzzzz100000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b01010zzzzzz1000000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b01010zzzzz10000000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b01010zzzz100000000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b01010zzz1000000000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b01010zz10000000000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b01010z100000000000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b010101000000000000zzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b010100000000000000zzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b010100000000000000zzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b010100000000000000zzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b010100000000000000zzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b010100000000000000zzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b010100000000000000zzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b010100000000000000zzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b010100000000000000zzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b010100000000000000zz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b010100000000000000z1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b01010000000000000010000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b01011zzzzzzzzzzz1zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b01011zzzzzzzzzz10zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b01011zzzzzzzzz100zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b01011zzzzzzzz1000zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b01011zzzzzzz10000zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b01011zzzzzz100000zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b01011zzzzz1000000zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b01011zzzz10000000zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b01011zzz100000000zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b01011zz1000000000zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b01011z10000000000zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b01011100000000000zzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b01011000000000000zzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b01011000000000000zzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b01011000000000000zzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b01011000000000000zzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b01011000000000000zzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b01011000000000000zzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b01011000000000000zzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b01011000000000000zzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b01011000000000000zzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b01011000000000000zz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b01011000000000000z10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b01011000000000000100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b01100zzzzzzzzzz1zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b01100zzzzzzzzz10zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b01100zzzzzzzz100zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b01100zzzzzzz1000zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b01100zzzzzz10000zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b01100zzzzz100000zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b01100zzzz1000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b01100zzz10000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b01100zz100000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b01100z1000000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b0110010000000000zzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b0110000000000000zzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b0110000000000000zzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b0110000000000000zzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b0110000000000000zzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b0110000000000000zzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b0110000000000000zzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b0110000000000000zzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b0110000000000000zzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b0110000000000000zzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b0110000000000000zzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b0110000000000000zz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b0110000000000000z100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b01100000000000001000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b01101zzzzzzzzz1zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b01101zzzzzzzz10zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b01101zzzzzzz100zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b01101zzzzzz1000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b01101zzzzz10000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b01101zzzz100000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b01101zzz1000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b01101zz10000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b01101z100000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b011011000000000zzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b011010000000000zzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b011010000000000zzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b011010000000000zzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b011010000000000zzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b011010000000000zzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b011010000000000zzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b011010000000000zzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b011010000000000zzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b011010000000000zzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b011010000000000zzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b011010000000000zzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b011010000000000zz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b011010000000000z1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b01101000000000010000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b01110zzzzzzzz1zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b01110zzzzzzz10zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b01110zzzzzz100zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b01110zzzzz1000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b01110zzzz10000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b01110zzz100000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b01110zz1000000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b01110z10000000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b01110100000000zzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b01110000000000zzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b01110000000000zzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b01110000000000zzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b01110000000000zzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b01110000000000zzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b01110000000000zzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b01110000000000zzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b01110000000000zzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b01110000000000zzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b01110000000000zzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b01110000000000zzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b01110000000000zzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b01110000000000zz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b01110000000000z10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b01110000000000100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b01111zzzzzzz1zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b01111zzzzzz10zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b01111zzzzz100zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b01111zzzz1000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b01111zzz10000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b01111zz100000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b01111z1000000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b0111110000000zzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b0111100000000zzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b0111100000000zzzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b0111100000000zzzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b0111100000000zzzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b0111100000000zzzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b0111100000000zzzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b0111100000000zzzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b0111100000000zzzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b0111100000000zzzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b0111100000000zzzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b0111100000000zzzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b0111100000000zzzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b0111100000000zzz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b0111100000000zz10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b0111100000000z100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b01111000000001000000000000000: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b10000zzzzzz1zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b10000zzzzz10zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b10000zzzz100zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b10000zzz1000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b10000zz10000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b10000z100000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b100001000000zzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b100000000000zzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b100000000000zzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b100000000000zzzzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b100000000000zzzzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b100000000000zzzzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b100000000000zzzzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b100000000000zzzzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b100000000000zzzzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b100000000000zzzzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b100000000000zzzzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b100000000000zzzzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b100000000000zzzzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b100000000000zzzz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b100000000000zzz10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b100000000000zz100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b100000000000z1000000000000000: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b10000000000010000000000000000: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b10001zzzzz1zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b10001zzzz10zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b10001zzz100zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b10001zz1000zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b10001z10000zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b10001100000zzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b10001000000zzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b10001000000zzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b10001000000zzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b10001000000zzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b10001000000zzzzzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b10001000000zzzzzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b10001000000zzzzzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b10001000000zzzzzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b10001000000zzzzzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b10001000000zzzzzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b10001000000zzzzzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b10001000000zzzzzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b10001000000zzzzz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b10001000000zzzz10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b10001000000zzz100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b10001000000zz1000000000000000: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b10001000000z10000000000000000: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b10001000000100000000000000000: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b10010zzzz1zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b10010zzz10zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b10010zz100zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b10010z1000zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b1001010000zzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b1001000000zzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b1001000000zzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b1001000000zzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b1001000000zzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b1001000000zzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b1001000000zzzzzzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b1001000000zzzzzzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b1001000000zzzzzzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b1001000000zzzzzzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b1001000000zzzzzzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b1001000000zzzzzzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b1001000000zzzzzzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b1001000000zzzzzz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b1001000000zzzzz10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b1001000000zzzz100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b1001000000zzz1000000000000000: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b1001000000zz10000000000000000: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b1001000000z100000000000000000: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b10010000001000000000000000000: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b10011zzz1zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b10011zz10zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b10011z100zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b100111000zzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b100110000zzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b100110000zzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b100110000zzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b100110000zzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b100110000zzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b100110000zzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b100110000zzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b100110000zzzzzzzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b100110000zzzzzzzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b100110000zzzzzzzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b100110000zzzzzzzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b100110000zzzzzzzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b100110000zzzzzzz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b100110000zzzzzz10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b100110000zzzzz100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b100110000zzzz1000000000000000: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b100110000zzz10000000000000000: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b100110000zz100000000000000000: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b100110000z1000000000000000000: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b10011000010000000000000000000: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b10100zz1zzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b10100z10zzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b10100100zzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b10100000zzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b10100000zzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b10100000zzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b10100000zzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b10100000zzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b10100000zzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b10100000zzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b10100000zzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b10100000zzzzzzzzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b10100000zzzzzzzzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b10100000zzzzzzzzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b10100000zzzzzzzzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b10100000zzzzzzzz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b10100000zzzzzzz10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b10100000zzzzzz100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b10100000zzzzz1000000000000000: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b10100000zzzz10000000000000000: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b10100000zzz100000000000000000: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b10100000zz1000000000000000000: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b10100000z10000000000000000000: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b10100000100000000000000000000: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b10101z1zzzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b1010110zzzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b1010100zzzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b1010100zzzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b1010100zzzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b1010100zzzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b1010100zzzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b1010100zzzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b1010100zzzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b1010100zzzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b1010100zzzzzzzzzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b1010100zzzzzzzzzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b1010100zzzzzzzzzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b1010100zzzzzzzzzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b1010100zzzzzzzzz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b1010100zzzzzzzz10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b1010100zzzzzzz100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b1010100zzzzzz1000000000000000: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b1010100zzzzz10000000000000000: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b1010100zzzz100000000000000000: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b1010100zzz1000000000000000000: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b1010100zz10000000000000000000: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b1010100z100000000000000000000: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b10101001000000000000000000000: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b101101zzzzzzzzzzzzzzzzzzzzzzz: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + 29'b101100zzzzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b101100zzzzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b101100zzzzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b101100zzzzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b101100zzzzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b101100zzzzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b101100zzzzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b101100zzzzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b101100zzzzzzzzzzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b101100zzzzzzzzzzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b101100zzzzzzzzzzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b101100zzzzzzzzzzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b101100zzzzzzzzzz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b101100zzzzzzzzz10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b101100zzzzzzzz100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b101100zzzzzzz1000000000000000: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b101100zzzzzz10000000000000000: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b101100zzzzz100000000000000000: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b101100zzzz1000000000000000000: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b101100zzz10000000000000000000: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b101100zz100000000000000000000: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b101100z1000000000000000000000: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b10110010000000000000000000000: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b10111zzzzzzzzzzzzzzzzzzzzzzz1: begin + sel_one_hot_n = 24'b000000000000000000000001; + tag_o = sv2v_cast_A2820_signed(0); + end + 29'b10111zzzzzzzzzzzzzzzzzzzzzz10: begin + sel_one_hot_n = 24'b000000000000000000000010; + tag_o = sv2v_cast_A2820_signed(1); + end + 29'b10111zzzzzzzzzzzzzzzzzzzzz100: begin + sel_one_hot_n = 24'b000000000000000000000100; + tag_o = sv2v_cast_A2820_signed(2); + end + 29'b10111zzzzzzzzzzzzzzzzzzzz1000: begin + sel_one_hot_n = 24'b000000000000000000001000; + tag_o = sv2v_cast_A2820_signed(3); + end + 29'b10111zzzzzzzzzzzzzzzzzzz10000: begin + sel_one_hot_n = 24'b000000000000000000010000; + tag_o = sv2v_cast_A2820_signed(4); + end + 29'b10111zzzzzzzzzzzzzzzzzz100000: begin + sel_one_hot_n = 24'b000000000000000000100000; + tag_o = sv2v_cast_A2820_signed(5); + end + 29'b10111zzzzzzzzzzzzzzzzz1000000: begin + sel_one_hot_n = 24'b000000000000000001000000; + tag_o = sv2v_cast_A2820_signed(6); + end + 29'b10111zzzzzzzzzzzzzzzz10000000: begin + sel_one_hot_n = 24'b000000000000000010000000; + tag_o = sv2v_cast_A2820_signed(7); + end + 29'b10111zzzzzzzzzzzzzzz100000000: begin + sel_one_hot_n = 24'b000000000000000100000000; + tag_o = sv2v_cast_A2820_signed(8); + end + 29'b10111zzzzzzzzzzzzzz1000000000: begin + sel_one_hot_n = 24'b000000000000001000000000; + tag_o = sv2v_cast_A2820_signed(9); + end + 29'b10111zzzzzzzzzzzzz10000000000: begin + sel_one_hot_n = 24'b000000000000010000000000; + tag_o = sv2v_cast_A2820_signed(10); + end + 29'b10111zzzzzzzzzzzz100000000000: begin + sel_one_hot_n = 24'b000000000000100000000000; + tag_o = sv2v_cast_A2820_signed(11); + end + 29'b10111zzzzzzzzzzz1000000000000: begin + sel_one_hot_n = 24'b000000000001000000000000; + tag_o = sv2v_cast_A2820_signed(12); + end + 29'b10111zzzzzzzzzz10000000000000: begin + sel_one_hot_n = 24'b000000000010000000000000; + tag_o = sv2v_cast_A2820_signed(13); + end + 29'b10111zzzzzzzzz100000000000000: begin + sel_one_hot_n = 24'b000000000100000000000000; + tag_o = sv2v_cast_A2820_signed(14); + end + 29'b10111zzzzzzzz1000000000000000: begin + sel_one_hot_n = 24'b000000001000000000000000; + tag_o = sv2v_cast_A2820_signed(15); + end + 29'b10111zzzzzzz10000000000000000: begin + sel_one_hot_n = 24'b000000010000000000000000; + tag_o = sv2v_cast_A2820_signed(16); + end + 29'b10111zzzzzz100000000000000000: begin + sel_one_hot_n = 24'b000000100000000000000000; + tag_o = sv2v_cast_A2820_signed(17); + end + 29'b10111zzzzz1000000000000000000: begin + sel_one_hot_n = 24'b000001000000000000000000; + tag_o = sv2v_cast_A2820_signed(18); + end + 29'b10111zzzz10000000000000000000: begin + sel_one_hot_n = 24'b000010000000000000000000; + tag_o = sv2v_cast_A2820_signed(19); + end + 29'b10111zzz100000000000000000000: begin + sel_one_hot_n = 24'b000100000000000000000000; + tag_o = sv2v_cast_A2820_signed(20); + end + 29'b10111zz1000000000000000000000: begin + sel_one_hot_n = 24'b001000000000000000000000; + tag_o = sv2v_cast_A2820_signed(21); + end + 29'b10111z10000000000000000000000: begin + sel_one_hot_n = 24'b010000000000000000000000; + tag_o = sv2v_cast_A2820_signed(22); + end + 29'b10111100000000000000000000000: begin + sel_one_hot_n = 24'b100000000000000000000000; + tag_o = sv2v_cast_A2820_signed(23); + end + default: begin + sel_one_hot_n = {24 {1'bx}}; + tag_o = sv2v_cast_A2820_signed(0); + end + endcase + end + assign sel_one_hot_o = sel_one_hot_n; + assign grants_o = sel_one_hot_n & {24 {grants_en_i}}; + if (hold_on_sr_p) begin : genblk1 + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (last_r) + 5'b00000: hold_on_sr = reqs_i == 24'b010000000000000000000000; + 5'b00001: hold_on_sr = reqs_i == 24'b001000000000000000000000; + 5'b00010: hold_on_sr = reqs_i == 24'b000100000000000000000000; + 5'b00011: hold_on_sr = reqs_i == 24'b000010000000000000000000; + 5'b00100: hold_on_sr = reqs_i == 24'b000001000000000000000000; + 5'b00101: hold_on_sr = reqs_i == 24'b000000100000000000000000; + 5'b00110: hold_on_sr = reqs_i == 24'b000000010000000000000000; + 5'b00111: hold_on_sr = reqs_i == 24'b000000001000000000000000; + 5'b01000: hold_on_sr = reqs_i == 24'b000000000100000000000000; + 5'b01001: hold_on_sr = reqs_i == 24'b000000000010000000000000; + 5'b01010: hold_on_sr = reqs_i == 24'b000000000001000000000000; + 5'b01011: hold_on_sr = reqs_i == 24'b000000000000100000000000; + 5'b01100: hold_on_sr = reqs_i == 24'b000000000000010000000000; + 5'b01101: hold_on_sr = reqs_i == 24'b000000000000001000000000; + 5'b01110: hold_on_sr = reqs_i == 24'b000000000000000100000000; + 5'b01111: hold_on_sr = reqs_i == 24'b000000000000000010000000; + 5'b10000: hold_on_sr = reqs_i == 24'b000000000000000001000000; + 5'b10001: hold_on_sr = reqs_i == 24'b000000000000000000100000; + 5'b10010: hold_on_sr = reqs_i == 24'b000000000000000000010000; + 5'b10011: hold_on_sr = reqs_i == 24'b000000000000000000001000; + 5'b10100: hold_on_sr = reqs_i == 24'b000000000000000000000100; + 5'b10101: hold_on_sr = reqs_i == 24'b000000000000000000000010; + 5'b10110: hold_on_sr = reqs_i == 24'b000000000000000000000001; + 5'b10111: hold_on_sr = reqs_i == 24'b100000000000000000000000; + default: hold_on_sr = 1'b0; + endcase + end + end + else begin : not_hold_on_sr_p + wire [1:1] sv2v_tmp_137B2; + assign sv2v_tmp_137B2 = 1'sb0; + always @(*) hold_on_sr = sv2v_tmp_137B2; + end + if (reset_on_sr_p) begin : reset_on_24 + assign reset_on_sr = (((((((((((((((((((((((reqs_i == 24'b010000000000000000000000) | (reqs_i == 24'b001000000000000000000000)) | (reqs_i == 24'b000100000000000000000000)) | (reqs_i == 24'b000010000000000000000000)) | (reqs_i == 24'b000001000000000000000000)) | (reqs_i == 24'b000000100000000000000000)) | (reqs_i == 24'b000000010000000000000000)) | (reqs_i == 24'b000000001000000000000000)) | (reqs_i == 24'b000000000100000000000000)) | (reqs_i == 24'b000000000010000000000000)) | (reqs_i == 24'b000000000001000000000000)) | (reqs_i == 24'b000000000000100000000000)) | (reqs_i == 24'b000000000000010000000000)) | (reqs_i == 24'b000000000000001000000000)) | (reqs_i == 24'b000000000000000100000000)) | (reqs_i == 24'b000000000000000010000000)) | (reqs_i == 24'b000000000000000001000000)) | (reqs_i == 24'b000000000000000000100000)) | (reqs_i == 24'b000000000000000000010000)) | (reqs_i == 24'b000000000000000000001000)) | (reqs_i == 24'b000000000000000000000100)) | (reqs_i == 24'b000000000000000000000010)) | (reqs_i == 24'b000000000000000000000001)) | (reqs_i == 24'b100000000000000000000000); + end + else begin : not_reset_on_sr_p + assign reset_on_sr = 1'sb0; + end + end + endgenerate + assign v_o = |reqs_i; + generate + if (inputs_p == 1) begin : genblk25 + wire [lg_inputs_p:1] sv2v_tmp_46E56; + assign sv2v_tmp_46E56 = 1'b0; + always @(*) last_r = sv2v_tmp_46E56; + end + else begin : genblk25 + always @(*) begin + if (_sv2v_0) + ; + if (hold_on_sr_p) begin : last_n_gen + last_n = (hold_on_sr ? last_r : (yumi_i ? tag_o : last_r)); + end + else if (reset_on_sr_p) begin : reset_on_last_n_gen + last_n = (reset_on_sr ? inputs_p - 2'd2 : (yumi_i ? tag_o : last_r)); + end + else if (hold_on_valid_p) begin : hold_on_last_n_gen + last_n = (yumi_i ? tag_o : (v_o ? (~((1 << $clog2(inputs_p)) == inputs_p) && (tag_o == {lg_inputs_p {1'sb0}}) ? sv2v_cast_A2820_signed(inputs_p - 1) : tag_o - 1'b1) : last_r)); + end + else + last_n = (yumi_i ? tag_o : last_r); + end + always @(posedge clk_i) last_r <= (reset_i ? sv2v_cast_A2820_signed(0) : last_n); + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bsg_scan ( + i, + o +); + parameter width_p = 0; + parameter xor_p = 0; + parameter and_p = 0; + parameter or_p = 0; + parameter lo_to_hi_p = 0; + parameter debug_p = 0; + input [width_p - 1:0] i; + output wire [width_p - 1:0] o; + genvar _gv_j_11; + wire [($clog2(width_p) >= 0 ? (($clog2(width_p) + 1) * width_p) - 1 : ((1 - $clog2(width_p)) * width_p) + (($clog2(width_p) * width_p) - 1)):($clog2(width_p) >= 0 ? 0 : $clog2(width_p) * width_p)] t; + generate + if (debug_p) begin : genblk1 + always @(o) begin + #(1) begin : sv2v_autoblock_1 + integer k; + for (k = 0; k <= $clog2(width_p); k = k + 1) + $display("%b", t[($clog2(width_p) >= 0 ? k : $clog2(width_p) - k) * width_p+:width_p]); + end + $display("i=%b, o=%b", i, o); + end + end + if (lo_to_hi_p) begin : genblk2 + function automatic [width_p - 1:0] _sv2v_strm_1B404; + input reg [(0 + width_p) - 1:0] inp; + reg [(0 + width_p) - 1:0] _sv2v_strm_BEEC1_inp; + reg [(0 + width_p) - 1:0] _sv2v_strm_BEEC1_out; + integer _sv2v_strm_BEEC1_idx; + begin + _sv2v_strm_BEEC1_inp = {inp}; + for (_sv2v_strm_BEEC1_idx = 0; _sv2v_strm_BEEC1_idx <= ((0 + width_p) - 1); _sv2v_strm_BEEC1_idx = _sv2v_strm_BEEC1_idx + 1) + _sv2v_strm_BEEC1_out[((0 + width_p) - 1) - _sv2v_strm_BEEC1_idx-:1] = _sv2v_strm_BEEC1_inp[_sv2v_strm_BEEC1_idx+:1]; + _sv2v_strm_1B404 = ((0 + width_p) <= width_p ? _sv2v_strm_BEEC1_out << (width_p - (0 + width_p)) : _sv2v_strm_BEEC1_out >> ((0 + width_p) - width_p)); + end + endfunction + assign t[($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p+:width_p] = _sv2v_strm_1B404({i}); + end + else begin : genblk2 + assign t[($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p+:width_p] = i; + end + endgenerate + function automatic [width_p - 1:0] sv2v_cast_0835B; + input reg [width_p - 1:0] inp; + sv2v_cast_0835B = inp; + endfunction + generate + if ((width_p == 4) & and_p) begin : scand4 + assign t[($clog2(width_p) >= 0 ? $clog2(width_p) : $clog2(width_p) - $clog2(width_p)) * width_p+:width_p] = {t[(($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p) + 3], &t[(($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p) + 3-:2], &t[(($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p) + 3-:3], &t[(($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p) + 3-:4]}; + end + else if ((width_p == 3) & and_p) begin : scand3 + assign t[($clog2(width_p) >= 0 ? $clog2(width_p) : $clog2(width_p) - $clog2(width_p)) * width_p+:width_p] = {t[(($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p) + 2], &t[(($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p) + 2-:2], &t[(($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p) + 2-:3]}; + end + else if ((width_p == 2) & and_p) begin : scand3 + assign t[($clog2(width_p) >= 0 ? $clog2(width_p) : $clog2(width_p) - $clog2(width_p)) * width_p+:width_p] = {t[(($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p) + 1], &t[(($clog2(width_p) >= 0 ? 0 : $clog2(width_p)) * width_p) + 1-:2]}; + end + else begin : scanN + for (_gv_j_11 = 0; _gv_j_11 < $clog2(width_p); _gv_j_11 = _gv_j_11 + 1) begin : row + localparam j = _gv_j_11; + wire [width_p - 1:0] fill; + wire [width_p - 1:0] shifted = sv2v_cast_0835B({fill, t[($clog2(width_p) >= 0 ? j : $clog2(width_p) - j) * width_p+:width_p]} >> (1 << j)); + if (xor_p) begin : genblk1 + assign fill = {width_p {1'b0}}; + assign t[($clog2(width_p) >= 0 ? j + 1 : $clog2(width_p) - (j + 1)) * width_p+:width_p] = t[($clog2(width_p) >= 0 ? j : $clog2(width_p) - j) * width_p+:width_p] ^ shifted; + end + else if (and_p) begin : genblk1 + assign fill = {width_p {1'b1}}; + assign t[($clog2(width_p) >= 0 ? j + 1 : $clog2(width_p) - (j + 1)) * width_p+:width_p] = t[($clog2(width_p) >= 0 ? j : $clog2(width_p) - j) * width_p+:width_p] & shifted; + end + else if (or_p) begin : genblk1 + assign fill = {width_p {1'b0}}; + assign t[($clog2(width_p) >= 0 ? j + 1 : $clog2(width_p) - (j + 1)) * width_p+:width_p] = t[($clog2(width_p) >= 0 ? j : $clog2(width_p) - j) * width_p+:width_p] | shifted; + end + end + end + if (lo_to_hi_p) begin : genblk4 + for (_gv_j_11 = 0; _gv_j_11 < width_p; _gv_j_11 = _gv_j_11 + 1) begin : genblk1 + localparam j = _gv_j_11; + assign o[j] = t[(($clog2(width_p) >= 0 ? $clog2(width_p) : $clog2(width_p) - $clog2(width_p)) * width_p) + ((width_p - 1) - j)]; + end + end + else begin : genblk4 + assign o = t[($clog2(width_p) >= 0 ? $clog2(width_p) : $clog2(width_p) - $clog2(width_p)) * width_p+:width_p]; + end + endgenerate +endmodule +module bsg_strobe ( + clk_i, + reset_r_i, + init_val_r_i, + strobe_r_o +); + parameter width_p = 0; + parameter harden_p = 0; + input clk_i; + input reset_r_i; + input [width_p - 1:0] init_val_r_i; + output reg strobe_r_o; + localparam debug_lp = 0; + wire strobe_n; + wire strobe_n_buf; + wire [width_p - 1:0] S_r; + wire [width_p - 1:0] S_n; + wire [width_p - 1:0] S_n_n; + wire [width_p - 1:0] C_n_prereset; + wire [width_p - 2:0] C_r; + wire [width_p - 2:0] C_n; + wire new_val = reset_r_i | strobe_n; + bsg_dff #( + .width_p(width_p - 1), + .harden_p(harden_p), + .strength_p(2) + ) C_reg( + .clk_i(clk_i), + .data_i(C_n), + .data_o(C_r) + ); + bsg_xnor #( + .width_p(width_p), + .harden_p(1) + ) xnor_S_n( + .a_i(S_r), + .b_i({C_r, 1'b1}), + .o(S_n) + ); + bsg_muxi2_gatestack #( + .width_p(width_p), + .harden_p(1) + ) muxi2_S_n( + .i0(S_n), + .i1(init_val_r_i), + .i2({width_p {new_val}}), + .o(S_n_n) + ); + bsg_dff #( + .width_p(width_p), + .harden_p(harden_p), + .strength_p(4) + ) S_reg( + .clk_i(clk_i), + .data_i(S_n_n), + .data_o(S_r) + ); + bsg_nand #( + .width_p(width_p), + .harden_p(1) + ) nand_C_n( + .a_i(S_r), + .b_i({C_r, 1'b1}), + .o(C_n_prereset) + ); + bsg_nor3 #( + .width_p(width_p - 1), + .harden_p(1) + ) nor3_C_n( + .a_i({width_p - 1 {strobe_n_buf}}), + .b_i(C_n_prereset[0+:width_p - 1]), + .c_i({width_p - 1 {reset_r_i}}), + .o(C_n) + ); + bsg_reduce #( + .and_p(1), + .harden_p(1), + .width_p(width_p) + ) andr( + .i(S_r), + .o(strobe_n) + ); + bsg_buf #(.width_p(1)) strobe_buf_gate( + .i(strobe_n), + .o(strobe_n_buf) + ); + always @(posedge clk_i) strobe_r_o <= strobe_n_buf; + generate + if (debug_lp) begin : debug + always @(negedge clk_i) + $display("%t (C=%b,S=%b) reset_r_i=%d new_val=%b init_val=%d val(C,S)=%b C^S=%b", $time, C_r, S_r, reset_r_i, new_val, init_val_r_i, (C_r << 1) + S_r, strobe_n); + end + endgenerate + always @(negedge clk_i) + ; +endmodule +module bsg_transpose ( + i, + o +); + parameter width_p = 0; + parameter els_p = 0; + parameter type_width_p = 1; + input [((els_p * width_p) * type_width_p) - 1:0] i; + output wire [((width_p * els_p) * type_width_p) - 1:0] o; + genvar _gv_x_1; + genvar _gv_y_1; + generate + for (_gv_x_1 = 0; _gv_x_1 < els_p; _gv_x_1 = _gv_x_1 + 1) begin : rof + localparam x = _gv_x_1; + for (_gv_y_1 = 0; _gv_y_1 < width_p; _gv_y_1 = _gv_y_1 + 1) begin : rof2 + localparam y = _gv_y_1; + assign o[((y * els_p) + x) * type_width_p+:type_width_p] = i[((x * width_p) + y) * type_width_p+:type_width_p]; + end + end + endgenerate +endmodule +module bsg_unconcentrate_static ( + i, + o +); + parameter pattern_els_p = 0; + parameter width_lp = 1'b0 + (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((pattern_els_p >> 0) & 1'b1) + ((pattern_els_p >> 1) & 1'b1)) + ((pattern_els_p >> 2) & 1'b1)) + ((pattern_els_p >> 3) & 1'b1)) + ((pattern_els_p >> 4) & 1'b1)) + ((pattern_els_p >> 5) & 1'b1)) + ((pattern_els_p >> 6) & 1'b1)) + ((pattern_els_p >> 7) & 1'b1)) + ((pattern_els_p >> 8) & 1'b1)) + ((pattern_els_p >> 9) & 1'b1)) + ((pattern_els_p >> 10) & 1'b1)) + ((pattern_els_p >> 11) & 1'b1)) + ((pattern_els_p >> 12) & 1'b1)) + ((pattern_els_p >> 13) & 1'b1)) + ((pattern_els_p >> 14) & 1'b1)) + ((pattern_els_p >> 15) & 1'b1)) + ((pattern_els_p >> 16) & 1'b1)) + ((pattern_els_p >> 17) & 1'b1)) + ((pattern_els_p >> 18) & 1'b1)) + ((pattern_els_p >> 19) & 1'b1)) + ((pattern_els_p >> 20) & 1'b1)) + ((pattern_els_p >> 21) & 1'b1)) + ((pattern_els_p >> 22) & 1'b1)) + ((pattern_els_p >> 23) & 1'b1)) + ((pattern_els_p >> 24) & 1'b1)) + ((pattern_els_p >> 25) & 1'b1)) + ((pattern_els_p >> 26) & 1'b1)) + ((pattern_els_p >> 27) & 1'b1)) + ((pattern_els_p >> 28) & 1'b1)) + ((pattern_els_p >> 29) & 1'b1)) + ((pattern_els_p >> 30) & 1'b1)) + ((pattern_els_p >> 31) & 1'b1)) + ((pattern_els_p >> 32) & 1'b1)) + ((pattern_els_p >> 33) & 1'b1)) + ((pattern_els_p >> 34) & 1'b1)) + ((pattern_els_p >> 35) & 1'b1)) + ((pattern_els_p >> 36) & 1'b1)) + ((pattern_els_p >> 37) & 1'b1)) + ((pattern_els_p >> 38) & 1'b1)) + ((pattern_els_p >> 39) & 1'b1)) + ((pattern_els_p >> 40) & 1'b1)) + ((pattern_els_p >> 41) & 1'b1)) + ((pattern_els_p >> 42) & 1'b1)) + ((pattern_els_p >> 43) & 1'b1)) + ((pattern_els_p >> 44) & 1'b1)) + ((pattern_els_p >> 45) & 1'b1)) + ((pattern_els_p >> 46) & 1'b1)) + ((pattern_els_p >> 47) & 1'b1)) + ((pattern_els_p >> 48) & 1'b1)) + ((pattern_els_p >> 49) & 1'b1)) + ((pattern_els_p >> 50) & 1'b1)) + ((pattern_els_p >> 51) & 1'b1)) + ((pattern_els_p >> 52) & 1'b1)) + ((pattern_els_p >> 53) & 1'b1)) + ((pattern_els_p >> 54) & 1'b1)) + ((pattern_els_p >> 55) & 1'b1)) + ((pattern_els_p >> 56) & 1'b1)) + ((pattern_els_p >> 57) & 1'b1)) + ((pattern_els_p >> 58) & 1'b1)) + ((pattern_els_p >> 59) & 1'b1)) + ((pattern_els_p >> 60) & 1'b1)) + ((pattern_els_p >> 61) & 1'b1)) + ((pattern_els_p >> 62) & 1'b1)) + ((pattern_els_p >> 63) & 1'b1)); + parameter unconnected_val_p = 1'sbz; + input [width_lp - 1:0] i; + output wire [31:0] o; + genvar _gv_j_12; + generate + if (pattern_els_p[0]) begin : genblk1 + assign o[0] = i[0]; + end + else begin : genblk1 + assign o[0] = unconnected_val_p; + end + for (_gv_j_12 = 1; _gv_j_12 < 32; _gv_j_12 = _gv_j_12 + 1) begin : rof + localparam j = _gv_j_12; + if (pattern_els_p[j]) begin : genblk1 + assign o[j] = i[((j * 1) < 65 ? 1'b0 : 'x) + (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((pattern_els_p[j - 1:0] >> 0) & 1'b1) + ((pattern_els_p[j - 1:0] >> 1) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 2) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 3) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 4) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 5) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 6) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 7) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 8) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 9) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 10) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 11) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 12) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 13) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 14) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 15) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 16) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 17) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 18) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 19) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 20) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 21) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 22) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 23) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 24) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 25) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 26) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 27) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 28) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 29) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 30) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 31) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 32) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 33) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 34) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 35) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 36) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 37) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 38) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 39) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 40) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 41) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 42) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 43) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 44) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 45) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 46) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 47) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 48) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 49) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 50) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 51) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 52) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 53) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 54) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 55) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 56) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 57) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 58) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 59) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 60) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 61) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 62) & 1'b1)) + ((pattern_els_p[j - 1:0] >> 63) & 1'b1))]; + end + else begin : genblk1 + assign o[j] = unconnected_val_p; + end + end + endgenerate +endmodule +module bsg_xnor ( + a_i, + b_i, + o +); + parameter width_p = 0; + parameter harden_p = 1; + input [width_p - 1:0] a_i; + input [width_p - 1:0] b_i; + output wire [width_p - 1:0] o; + assign o = ~(a_i ^ b_i); +endmodule +module bsg_mesh_stitch ( + outs_i, + ins_o, + hor_i, + hor_o, + ver_i, + ver_o +); + parameter width_p = 0; + parameter x_max_p = "inv"; + parameter y_max_p = "inv"; + parameter nets_p = 1; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * width_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * width_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * width_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * width_p) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * width_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * width_p)] outs_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * width_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * width_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * width_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * width_p) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * width_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * width_p)] ins_o; + input [(((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) ? (((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p)) + 1) * width_p) + ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) * width_p) - 1) : (((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1))) + 1) * width_p) + ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) * width_p) - 1)):(((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) * width_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) * width_p)] hor_i; + output wire [(((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) ? (((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p)) + 1) * width_p) + ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) * width_p) - 1) : (((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1))) + 1) * width_p) + ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) * width_p) - 1)):(((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) * width_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) * width_p)] hor_o; + input [(((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) ? (((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p)) + 1) * width_p) + ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) * width_p) - 1) : (((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1))) + 1) * width_p) + ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) * width_p) - 1)):(((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) * width_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) * width_p)] ver_i; + output wire [(((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) ? (((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p)) + 1) * width_p) + ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) * width_p) - 1) : (((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1))) + 1) * width_p) + ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) * width_p) - 1)):(((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) * width_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) * width_p)] ver_o; + genvar _gv_r_1; + genvar _gv_c_1; + genvar _gv_net_1; + generate + for (_gv_net_1 = 0; _gv_net_1 < nets_p; _gv_net_1 = _gv_net_1 + 1) begin : _n + localparam net = _gv_net_1; + for (_gv_r_1 = 0; _gv_r_1 < y_max_p; _gv_r_1 = _gv_r_1 + 1) begin : _r + localparam r = _gv_r_1; + assign hor_o[(((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) ? (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)))) * nets_p) + net : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - (((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)))) * nets_p) + net) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)))) * width_p+:width_p] = outs_i[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (x_max_p - 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (x_max_p - 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (x_max_p - 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (x_max_p - 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (x_max_p - 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (x_max_p - 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (x_max_p - 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (x_max_p - 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p]; + assign hor_o[(((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) ? (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)))) * nets_p) + net : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - (((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)))) * nets_p) + net) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)))) * width_p+:width_p] = outs_i[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((r * x_max_p) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((r * x_max_p) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((r * x_max_p) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((r * x_max_p) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((r * x_max_p) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((r * x_max_p) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((r * x_max_p) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((r * x_max_p) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p]; + for (_gv_c_1 = 0; _gv_c_1 < x_max_p; _gv_c_1 = _gv_c_1 + 1) begin : _c + localparam c = _gv_c_1; + assign ins_o[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p] = (r == (y_max_p - 1) ? ver_i[(((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) ? (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)))) * nets_p) + net : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - (((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)))) * nets_p) + net) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)))) * width_p+:width_p] : outs_i[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((r == (y_max_p - 1) ? r : r + 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((r == (y_max_p - 1) ? r : r + 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((r == (y_max_p - 1) ? r : r + 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((r == (y_max_p - 1) ? r : r + 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((r == (y_max_p - 1) ? r : r + 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((r == (y_max_p - 1) ? r : r + 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((r == (y_max_p - 1) ? r : r + 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((r == (y_max_p - 1) ? r : r + 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p]); + assign ins_o[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p] = (r == 0 ? ver_i[(((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) ? (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)))) * nets_p) + net : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - (((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)))) * nets_p) + net) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)))) * width_p+:width_p] : outs_i[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((r ? r - 1 : 0) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((r ? r - 1 : 0) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((r ? r - 1 : 0) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((r ? r - 1 : 0) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((r ? r - 1 : 0) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((r ? r - 1 : 0) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((r ? r - 1 : 0) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((r ? r - 1 : 0) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p]); + assign ins_o[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p] = (c == (x_max_p - 1) ? hor_i[(((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) ? (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)))) * nets_p) + net : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - (((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)))) * nets_p) + net) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)))) * width_p+:width_p] : outs_i[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (c == (x_max_p - 1) ? c : c + 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (c == (x_max_p - 1) ? c : c + 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (c == (x_max_p - 1) ? c : c + 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (c == (x_max_p - 1) ? c : c + 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (c == (x_max_p - 1) ? c : c + 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (c == (x_max_p - 1) ? c : c + 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (c == (x_max_p - 1) ? c : c + 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (c == (x_max_p - 1) ? c : c + 1)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p]); + assign ins_o[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p] = (c == 0 ? hor_i[(((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) ? (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)))) * nets_p) + net : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - (((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * y_max_p) + r) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)))) * nets_p) + net) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * y_max_p : sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * y_max_p) + ((sv2v_cast_3(3'd0 + 1) * y_max_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * y_max_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * y_max_p) - 1)) * nets_p) - 1)))) * width_p+:width_p] : outs_i[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (c ? c - 1 : 0)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (c ? c - 1 : 0)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (c ? c - 1 : 0)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (c ? c - 1 : 0)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (c ? c - 1 : 0)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (c ? c - 1 : 0)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((((r * x_max_p) + (c ? c - 1 : 0)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((((r * x_max_p) + (c ? c - 1 : 0)) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p]); + end + end + for (_gv_c_1 = 0; _gv_c_1 < x_max_p; _gv_c_1 = _gv_c_1 + 1) begin : _c + localparam c = _gv_c_1; + assign ver_o[(((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) ? (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)))) * nets_p) + net : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - (((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)))) * nets_p) + net) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)))) * width_p+:width_p] = outs_i[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((y_max_p - 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((y_max_p - 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((y_max_p - 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((y_max_p - 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((y_max_p - 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((y_max_p - 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((((y_max_p - 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((((y_max_p - 1) * x_max_p) + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p]; + assign ver_o[(((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)) >= ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) ? (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)))) * nets_p) + net : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - (((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * x_max_p) + c) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)))) * nets_p) + net) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p)) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) * nets_p) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * x_max_p : sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1))) + 1) * nets_p) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * x_max_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * x_max_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * x_max_p) - 1)) * nets_p) - 1)))) * width_p+:width_p] = outs_i[width_p * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((0 + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((0 + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((0 + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((0 + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((0 + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((0 + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((((0 + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3))) : ((((((0 + c) * nets_p) + net) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p : sv2v_cast_3(3'd0 + 1) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * width_p) - sv2v_cast_3((3'd0 + 1) + 3)))) - width_p) + 1) + (width_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (((y_max_p * x_max_p) * nets_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:width_p * width_p]; + end + end + endgenerate +endmodule +module bsg_wormhole_concentrator ( + clk_i, + reset_i, + links_i, + links_o, + concentrated_link_i, + concentrated_link_o +); + parameter flit_width_p = 0; + parameter len_width_p = 0; + parameter cid_width_p = 0; + parameter cord_width_p = 0; + parameter num_in_p = 1; + parameter debug_lp = 0; + parameter link_width_lp = flit_width_p + 2; + parameter hold_on_valid_p = 0; + input clk_i; + input reset_i; + input [(num_in_p * link_width_lp) - 1:0] links_i; + output wire [(num_in_p * link_width_lp) - 1:0] links_o; + input [link_width_lp - 1:0] concentrated_link_i; + output wire [link_width_lp - 1:0] concentrated_link_o; + wire [num_in_p - 1:0] links_v_li; + wire [(num_in_p * flit_width_p) - 1:0] links_data_li; + wire [(num_in_p * (2 + flit_width_p)) - 1:0] links_i_cast; + wire [(num_in_p * (2 + flit_width_p)) - 1:0] links_o_cast; + wire [num_in_p - 1:0] links_ready_and_rev_lo; + wire [num_in_p - 1:0] links_ready_and_rev_li; + wire [(2 + flit_width_p) - 1:0] concentrated_link_i_cast; + wire [(2 + flit_width_p) - 1:0] concentrated_link_o_cast; + wire [(num_in_p * flit_width_p) - 1:0] links_data_lo; + wire [num_in_p - 1:0] links_v_lo; + wire concentrated_link_ready_and_rev_lo; + assign links_i_cast = links_i; + assign links_o = links_o_cast; + assign concentrated_link_i_cast = concentrated_link_i; + assign concentrated_link_o = concentrated_link_o_cast; + genvar _gv_i_34; + generate + for (_gv_i_34 = 0; _gv_i_34 < num_in_p; _gv_i_34 = _gv_i_34 + 1) begin : cast + localparam i = _gv_i_34; + assign links_o_cast[(i * (2 + flit_width_p)) + (flit_width_p + 1)] = links_v_lo[i]; + assign links_o_cast[(i * (2 + flit_width_p)) + (flit_width_p - 1)-:flit_width_p] = links_data_lo[i * flit_width_p+:flit_width_p]; + assign links_o_cast[(i * (2 + flit_width_p)) + (flit_width_p + 0)] = links_ready_and_rev_lo[i]; + assign links_ready_and_rev_li[i] = links_i_cast[(i * (2 + flit_width_p)) + (flit_width_p + 0)]; + assign links_v_li[i] = links_i_cast[(i * (2 + flit_width_p)) + (flit_width_p + 1)]; + assign links_data_li[i * flit_width_p+:flit_width_p] = links_i_cast[(i * (2 + flit_width_p)) + (flit_width_p - 1)-:flit_width_p]; + end + endgenerate + assign concentrated_link_o_cast[flit_width_p + 0] = concentrated_link_ready_and_rev_lo; + bsg_wormhole_concentrator_in #( + .flit_width_p(flit_width_p), + .len_width_p(len_width_p), + .num_in_p(num_in_p), + .cord_width_p(cord_width_p), + .debug_lp(debug_lp), + .hold_on_valid_p(hold_on_valid_p) + ) concentrator_in( + .clk_i(clk_i), + .reset_i(reset_i), + .links_v_i(links_v_li), + .links_data_i(links_data_li), + .links_ready_and_rev_o(links_ready_and_rev_lo), + .concentrated_link_ready_and_rev_i(concentrated_link_i_cast[flit_width_p + 0]), + .concentrated_link_v_o(concentrated_link_o_cast[flit_width_p + 1]), + .concentrated_link_data_o(concentrated_link_o_cast[flit_width_p - 1-:flit_width_p]) + ); + bsg_wormhole_concentrator_out #( + .flit_width_p(flit_width_p), + .len_width_p(len_width_p), + .cid_width_p(cid_width_p), + .num_in_p(num_in_p), + .cord_width_p(cord_width_p), + .debug_lp(debug_lp), + .hold_on_valid_p(hold_on_valid_p) + ) concentrator_out( + .clk_i(clk_i), + .reset_i(reset_i), + .links_v_o(links_v_lo), + .links_data_o(links_data_lo), + .links_ready_and_rev_i(links_ready_and_rev_li), + .concentrated_link_v_i(concentrated_link_i_cast[flit_width_p + 1]), + .concentrated_link_data_i(concentrated_link_i_cast[flit_width_p - 1-:flit_width_p]), + .concentrated_link_ready_and_rev_o(concentrated_link_ready_and_rev_lo) + ); +endmodule +module bsg_wormhole_concentrator_in ( + clk_i, + reset_i, + links_v_i, + links_data_i, + links_ready_and_rev_o, + links_credit_late_o, + concentrated_link_ready_and_rev_i, + concentrated_link_v_o, + concentrated_link_data_o +); + parameter flit_width_p = 0; + parameter len_width_p = 0; + parameter cord_width_p = 0; + parameter num_in_p = 1; + parameter debug_lp = 0; + parameter hold_on_valid_p = 0; + parameter els_p = 2; + parameter harden_p = 0; + parameter assert_valid_credit_p = 0; + input clk_i; + input reset_i; + input [num_in_p - 1:0] links_v_i; + input [(num_in_p * flit_width_p) - 1:0] links_data_i; + output wire [num_in_p - 1:0] links_ready_and_rev_o; + output wire [num_in_p - 1:0] links_credit_late_o; + input concentrated_link_ready_and_rev_i; + output wire concentrated_link_v_o; + output wire [flit_width_p - 1:0] concentrated_link_data_o; + genvar _gv_i_35; + genvar _gv_j_13; + generate + if (assert_valid_credit_p) begin : genblk1 + always @(posedge clk_i) + ; + end + endgenerate + wire [(num_in_p * flit_width_p) - 1:0] fifo_data_lo; + wire [num_in_p - 1:0] fifo_valid_lo; + wire [num_in_p - 1:0] releases; + wire [num_in_p - 1:0] reqs; + wire [num_in_p - 1:0] yumis; + generate + for (_gv_i_35 = 0; _gv_i_35 < num_in_p; _gv_i_35 = _gv_i_35 + 1) begin : in_ch + localparam i = _gv_i_35; + bsg_fifo_1r1w_small #( + .width_p(flit_width_p), + .els_p(els_p), + .harden_p(1) + ) twofer( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(links_v_i[i]), + .data_i(links_data_i[i * flit_width_p+:flit_width_p]), + .ready_param_o(links_ready_and_rev_o[i]), + .v_o(fifo_valid_lo[i]), + .data_o(fifo_data_lo[i * flit_width_p+:flit_width_p]), + .yumi_i(yumis[i]) + ); + assign links_credit_late_o[i] = yumis[i]; + wire [(len_width_p + cord_width_p) - 1:0] concentrated_hdr; + assign concentrated_hdr = fifo_data_lo[(i * flit_width_p) + ((len_width_p + cord_width_p) - 1)-:len_width_p + cord_width_p]; + bsg_wormhole_router_input_control #( + .output_dirs_p(1), + .payload_len_bits_p(((len_width_p + (cord_width_p - 1)) >= (cord_width_p + 0) ? ((len_width_p + (cord_width_p - 1)) - (cord_width_p + 0)) + 1 : ((cord_width_p + 0) - (len_width_p + (cord_width_p - 1))) + 1) * 1) + ) wic( + .clk_i(clk_i), + .reset_i(reset_i), + .fifo_v_i(fifo_valid_lo[i]), + .fifo_yumi_i(yumis[i]), + .fifo_decoded_dest_i(1'b1), + .fifo_payload_len_i(concentrated_hdr[len_width_p + (cord_width_p - 1)-:((len_width_p + (cord_width_p - 1)) >= (cord_width_p + 0) ? ((len_width_p + (cord_width_p - 1)) - (cord_width_p + 0)) + 1 : ((cord_width_p + 0) - (len_width_p + (cord_width_p - 1))) + 1)]), + .reqs_o(reqs[i]), + .release_o(releases[i]), + .detected_header_o() + ); + end + endgenerate + wire [num_in_p - 1:0] data_sel_lo; + bsg_wormhole_router_output_control #( + .input_dirs_p(num_in_p), + .hold_on_valid_p(hold_on_valid_p) + ) woc( + .clk_i(clk_i), + .reset_i(reset_i), + .reqs_i(reqs), + .release_i(releases), + .valid_i(fifo_valid_lo), + .yumi_o(yumis), + .ready_and_i(concentrated_link_ready_and_rev_i), + .valid_o(concentrated_link_v_o), + .data_sel_o(data_sel_lo) + ); + bsg_mux_one_hot #( + .width_p(flit_width_p), + .els_p(num_in_p) + ) data_mux( + .data_i(fifo_data_lo), + .sel_one_hot_i(data_sel_lo), + .data_o(concentrated_link_data_o) + ); +endmodule +module bsg_wormhole_concentrator_out ( + clk_i, + reset_i, + links_v_o, + links_data_o, + links_ready_and_rev_i, + concentrated_link_v_i, + concentrated_link_data_i, + concentrated_link_ready_and_rev_o +); + parameter flit_width_p = 0; + parameter len_width_p = 0; + parameter cid_width_p = 0; + parameter cord_width_p = 0; + parameter num_in_p = 1; + parameter debug_lp = 0; + parameter hold_on_valid_p = 0; + input clk_i; + input reset_i; + output wire [num_in_p - 1:0] links_v_o; + output wire [(num_in_p * flit_width_p) - 1:0] links_data_o; + input [num_in_p - 1:0] links_ready_and_rev_i; + input concentrated_link_v_i; + input [flit_width_p - 1:0] concentrated_link_data_i; + output wire concentrated_link_ready_and_rev_o; + genvar _gv_i_36; + genvar _gv_j_14; + wire [flit_width_p - 1:0] concentrated_fifo_data_lo; + wire concentrated_fifo_valid_lo; + wire concentrated_releases; + wire [num_in_p - 1:0] concentrated_reqs; + wire [num_in_p - 1:0] concentrated_yumis; + wire concentrated_any_yumi = |concentrated_yumis; + bsg_two_fifo #(.width_p(flit_width_p)) concentrated_twofer( + .clk_i(clk_i), + .reset_i(reset_i), + .ready_param_o(concentrated_link_ready_and_rev_o), + .data_i(concentrated_link_data_i), + .v_i(concentrated_link_v_i), + .v_o(concentrated_fifo_valid_lo), + .data_o(concentrated_fifo_data_lo), + .yumi_i(concentrated_any_yumi) + ); + wire [((cid_width_p + len_width_p) + cord_width_p) - 1:0] concentrated_hdr; + assign concentrated_hdr = concentrated_fifo_data_lo[((cid_width_p + len_width_p) + cord_width_p) - 1:0]; + wire [num_in_p - 1:0] concentrated_decoded_dest_lo; + bsg_decode #(.num_out_p(num_in_p)) concentrated_decoder( + .i(concentrated_hdr[(cid_width_p + (len_width_p + (cord_width_p - 1))) - (cid_width_p - 1)+:((num_in_p == 1) || (num_in_p == 0) ? 1 : $clog2(num_in_p))]), + .o(concentrated_decoded_dest_lo) + ); + bsg_wormhole_router_input_control #( + .output_dirs_p(num_in_p), + .payload_len_bits_p(((len_width_p + (cord_width_p - 1)) >= (cord_width_p + 0) ? ((len_width_p + (cord_width_p - 1)) - (cord_width_p + 0)) + 1 : ((cord_width_p + 0) - (len_width_p + (cord_width_p - 1))) + 1) * 1) + ) concentrated_wic( + .clk_i(clk_i), + .reset_i(reset_i), + .fifo_v_i(concentrated_fifo_valid_lo), + .fifo_yumi_i(concentrated_any_yumi), + .fifo_decoded_dest_i(concentrated_decoded_dest_lo), + .fifo_payload_len_i(concentrated_hdr[len_width_p + (cord_width_p - 1)-:((len_width_p + (cord_width_p - 1)) >= (cord_width_p + 0) ? ((len_width_p + (cord_width_p - 1)) - (cord_width_p + 0)) + 1 : ((cord_width_p + 0) - (len_width_p + (cord_width_p - 1))) + 1)]), + .reqs_o(concentrated_reqs), + .release_o(concentrated_releases), + .detected_header_o() + ); + generate + for (_gv_i_36 = 0; _gv_i_36 < num_in_p; _gv_i_36 = _gv_i_36 + 1) begin : out_ch + localparam i = _gv_i_36; + bsg_wormhole_router_output_control #( + .input_dirs_p(1), + .hold_on_valid_p(hold_on_valid_p) + ) concentrated_woc( + .clk_i(clk_i), + .reset_i(reset_i), + .reqs_i(concentrated_reqs[i]), + .release_i(concentrated_releases), + .valid_i(concentrated_fifo_valid_lo), + .yumi_o(concentrated_yumis[i]), + .ready_and_i(links_ready_and_rev_i[i]), + .valid_o(links_v_o[i]), + .data_sel_o() + ); + assign links_data_o[i * flit_width_p+:flit_width_p] = concentrated_fifo_data_lo; + end + endgenerate +endmodule +module bsg_wormhole_router ( + clk_i, + reset_i, + link_i, + link_o, + my_cord_i +); + parameter flit_width_p = 0; + parameter dims_p = 2; + parameter dirs_lp = (dims_p * 2) + 1; + parameter cord_dims_p = dims_p; + parameter signed [(cord_dims_p >= 0 ? ((cord_dims_p + 1) * 32) - 1 : ((1 - cord_dims_p) * 32) + ((cord_dims_p * 32) - 1)):(cord_dims_p >= 0 ? 0 : cord_dims_p * 32)] cord_markers_pos_p = 96'h000000050000000400000000; + localparam [17:0] bsg_wormhole_router_pkg_StrictX = 18'b011101111011101111; + localparam [49:0] bsg_wormhole_router_pkg_StrictXY = 50'b01111101110001100101111110100110001110111110111111; + parameter [((2 * dirs_lp) * dirs_lp) - 1:0] routing_matrix_p = (dims_p == 2 ? bsg_wormhole_router_pkg_StrictXY : bsg_wormhole_router_pkg_StrictX); + parameter reverse_order_p = 0; + parameter len_width_p = 0; + parameter debug_lp = 0; + parameter hold_on_valid_p = 0; + input clk_i; + input reset_i; + input [((flit_width_p + 1) >= 0 ? (dirs_lp * (flit_width_p + 2)) - 1 : (dirs_lp * (1 - (flit_width_p + 1))) + (flit_width_p + 0)):((flit_width_p + 1) >= 0 ? 0 : flit_width_p + 1)] link_i; + output wire [((flit_width_p + 1) >= 0 ? (dirs_lp * (flit_width_p + 2)) - 1 : (dirs_lp * (1 - (flit_width_p + 1))) + (flit_width_p + 0)):((flit_width_p + 1) >= 0 ? 0 : flit_width_p + 1)] link_o; + input [cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1:0] my_cord_i; + localparam input_dirs_lp = dirs_lp; + localparam output_dirs_lp = dirs_lp; + wire [(dirs_lp * dirs_lp) - 1:0] matrix_out_in_transpose; + bsg_transpose #( + .width_p(dirs_lp), + .els_p(dirs_lp) + ) tr( + .i(routing_matrix_p[0+:dirs_lp * dirs_lp]), + .o(matrix_out_in_transpose) + ); + always @(negedge reset_i) + ; + wire [(input_dirs_lp * flit_width_p) - 1:0] fifo_data_lo; + wire [input_dirs_lp - 1:0] fifo_valid_lo; + wire [dirs_lp - 1:0] releases; + wire [(dirs_lp * dirs_lp) - 1:0] reqs; + wire [(dirs_lp * dirs_lp) - 1:0] reqs_transpose; + wire [(dirs_lp * dirs_lp) - 1:0] yumis; + wire [(dirs_lp * dirs_lp) - 1:0] yumis_transpose; + wire [(dirs_lp * (2 + flit_width_p)) - 1:0] link_i_cast; + wire [(dirs_lp * (2 + flit_width_p)) - 1:0] link_o_cast; + assign link_i_cast = link_i; + assign link_o = link_o_cast; + genvar _gv_i_37; + genvar _gv_j_15; + generate + for (_gv_i_37 = 0; _gv_i_37 < input_dirs_lp; _gv_i_37 = _gv_i_37 + 1) begin : in_ch + localparam i = _gv_i_37; + localparam output_dirs_sparse_lp = (dirs_lp < 65 ? 1'b0 : {dirs_lp {1'sbx}}) + (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 0) & 1'b1) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 1) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 2) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 3) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 4) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 5) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 6) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 7) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 8) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 9) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 10) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 11) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 12) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 13) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 14) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 15) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 16) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 17) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 18) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 19) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 20) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 21) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 22) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 23) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 24) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 25) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 26) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 27) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 28) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 29) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 30) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 31) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 32) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 33) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 34) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 35) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 36) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 37) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 38) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 39) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 40) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 41) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 42) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 43) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 44) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 45) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 46) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 47) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 48) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 49) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 50) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 51) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 52) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 53) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 54) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 55) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 56) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 57) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 58) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 59) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 60) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 61) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 62) & 1'b1)) + ((routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp] >> 63) & 1'b1)); + wire [output_dirs_lp - 1:0] decoded_dest_lo; + wire [output_dirs_sparse_lp - 1:0] decoded_dest_sparse_lo; + wire [output_dirs_sparse_lp - 1:0] reqs_lo; + wire [output_dirs_sparse_lp - 1:0] yumis_li; + bsg_concentrate_static #(.pattern_els_p(routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp])) conc( + .i(yumis_transpose[i * dirs_lp+:dirs_lp]), + .o(yumis_li) + ); + wire any_yumi = |yumis_li; + bsg_two_fifo #(.width_p(flit_width_p)) twofer( + .clk_i(clk_i), + .reset_i(reset_i), + .ready_param_o(link_o_cast[(i * (2 + flit_width_p)) + (flit_width_p + 0)]), + .data_i(link_i_cast[(i * (2 + flit_width_p)) + (flit_width_p - 1)-:flit_width_p]), + .v_i(link_i_cast[(i * (2 + flit_width_p)) + (flit_width_p + 1)]), + .v_o(fifo_valid_lo[i]), + .data_o(fifo_data_lo[i * flit_width_p+:flit_width_p]), + .yumi_i(any_yumi) + ); + wire [(len_width_p + cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32]) - 1:0] hdr; + assign hdr = fifo_data_lo[(i * flit_width_p) + ((len_width_p + cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32]) - 1)-:len_width_p + cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32]]; + if (debug_lp) begin : genblk1 + reg release_r; + always @(posedge clk_i) release_r <= releases[i]; + always @(negedge clk_i) begin + if (releases[i] & ~release_r) + $display("%m in ch%2d: packet finished last cycle", i); + if (((reset_i === 1'b0) && link_i_cast[(i * (2 + flit_width_p)) + (flit_width_p + 1)]) && !link_o_cast[(i * (2 + flit_width_p)) + (flit_width_p + 0)]) + $display("%m in ch%2d: nacking packet %h", i, link_i_cast[(i * (2 + flit_width_p)) + (flit_width_p - 1)-:flit_width_p]); + else if (((reset_i === 1'b0) && link_i_cast[(i * (2 + flit_width_p)) + (flit_width_p + 1)]) && link_o_cast[(i * (2 + flit_width_p)) + (flit_width_p + 0)]) + $display("%m in ch%2d: accepting packet %h", i, link_i_cast[(i * (2 + flit_width_p)) + (flit_width_p - 1)-:flit_width_p]); + if ((reset_i === 1'b0) && any_yumi) begin + if (reqs_lo) + $display("%m in ch%2d: dequeing header %h (outch=%b,len=%b,dest=%b)", i, fifo_data_lo[i * flit_width_p+:flit_width_p], reqs_lo, hdr[len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1)-:((len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1)) >= (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] + 0) ? ((len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1)) - (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] + 0)) + 1 : ((cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] + 0) - (len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1))) + 1)], hdr[cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1-:cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32]]); + else + $display("%m in ch%2d: dequeing packet %h", i, fifo_data_lo[i * flit_width_p+:flit_width_p]); + end + end + end + bsg_wormhole_router_decoder_dor #( + .dims_p(dims_p), + .cord_dims_p(cord_dims_p), + .reverse_order_p(reverse_order_p), + .cord_markers_pos_p(cord_markers_pos_p) + ) dor( + .target_cord_i(hdr[cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1-:cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32]]), + .my_cord_i(my_cord_i), + .req_o(decoded_dest_lo) + ); + bsg_concentrate_static #(.pattern_els_p(routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp])) conc_dec( + .i(decoded_dest_lo), + .o(decoded_dest_sparse_lo) + ); + wire detected_header_lo; + bsg_wormhole_router_input_control #( + .output_dirs_p(output_dirs_sparse_lp), + .payload_len_bits_p(((len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1)) >= (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] + 0) ? ((len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1)) - (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] + 0)) + 1 : ((cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] + 0) - (len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1))) + 1) * 1) + ) wic( + .clk_i(clk_i), + .reset_i(reset_i), + .fifo_v_i(fifo_valid_lo[i]), + .fifo_yumi_i(any_yumi), + .fifo_decoded_dest_i(decoded_dest_sparse_lo), + .fifo_payload_len_i(hdr[len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1)-:((len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1)) >= (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] + 0) ? ((len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1)) - (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] + 0)) + 1 : ((cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] + 0) - (len_width_p + (cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1))) + 1)]), + .reqs_o(reqs_lo), + .release_o(releases[i]), + .detected_header_o(detected_header_lo) + ); + bsg_unconcentrate_static #(.pattern_els_p(routing_matrix_p[(0 + i) * dirs_lp+:dirs_lp])) unc( + .i(reqs_lo), + .o(reqs[i * dirs_lp+:dirs_lp]) + ); + always @(negedge clk_i) + if (debug_lp) + ; + end + endgenerate + bsg_transpose #( + .width_p(dirs_lp), + .els_p(dirs_lp) + ) reqs_trans( + .i(reqs), + .o(reqs_transpose) + ); + generate + for (_gv_i_37 = 0; _gv_i_37 < output_dirs_lp; _gv_i_37 = _gv_i_37 + 1) begin : out_ch + localparam i = _gv_i_37; + localparam input_dirs_sparse_lp = (dirs_lp < 65 ? 1'b0 : {dirs_lp {1'sbx}}) + (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 0) & 1'b1) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 1) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 2) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 3) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 4) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 5) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 6) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 7) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 8) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 9) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 10) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 11) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 12) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 13) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 14) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 15) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 16) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 17) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 18) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 19) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 20) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 21) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 22) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 23) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 24) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 25) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 26) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 27) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 28) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 29) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 30) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 31) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 32) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 33) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 34) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 35) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 36) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 37) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 38) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 39) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 40) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 41) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 42) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 43) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 44) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 45) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 46) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 47) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 48) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 49) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 50) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 51) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 52) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 53) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 54) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 55) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 56) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 57) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 58) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 59) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 60) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 61) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 62) & 1'b1)) + ((routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp] >> 63) & 1'b1)); + wire [input_dirs_sparse_lp - 1:0] reqs_li; + wire [input_dirs_sparse_lp - 1:0] release_li; + wire [input_dirs_sparse_lp - 1:0] valids_li; + wire [input_dirs_sparse_lp - 1:0] yumis_lo; + wire [input_dirs_sparse_lp - 1:0] data_sel_lo; + wire [(input_dirs_sparse_lp * flit_width_p) - 1:0] fifo_data_sparse_lo; + bsg_concentrate_static #(.pattern_els_p(routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp])) conc( + .i(reqs_transpose[i * dirs_lp+:dirs_lp]), + .o(reqs_li) + ); + bsg_concentrate_static #(.pattern_els_p(routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp])) conc2( + .i(releases), + .o(release_li) + ); + bsg_concentrate_static #(.pattern_els_p(routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp])) conc3( + .i(fifo_valid_lo), + .o(valids_li) + ); + bsg_array_concentrate_static #( + .width_p(flit_width_p), + .pattern_els_p(routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp]) + ) conc4( + .i(fifo_data_lo), + .o(fifo_data_sparse_lo) + ); + bsg_wormhole_router_output_control #( + .input_dirs_p(input_dirs_sparse_lp), + .hold_on_valid_p(hold_on_valid_p) + ) woc( + .clk_i(clk_i), + .reset_i(reset_i), + .reqs_i(reqs_li), + .release_i(release_li), + .valid_i(valids_li), + .yumi_o(yumis_lo), + .ready_and_i(link_i_cast[(i * (2 + flit_width_p)) + (flit_width_p + 0)]), + .valid_o(link_o_cast[(i * (2 + flit_width_p)) + (flit_width_p + 1)]), + .data_sel_o(data_sel_lo) + ); + always @(negedge clk_i) + if (debug_lp) begin + if ((reset_i === 1'b0) && link_o_cast[(i * (2 + flit_width_p)) + (flit_width_p + 1)]) begin + if (link_i_cast[(i * (2 + flit_width_p)) + (flit_width_p + 0)]) + $display("%m out ch%2d: sending packet %h", i, link_o_cast[(i * (2 + flit_width_p)) + (flit_width_p - 1)-:flit_width_p]); + end + end + bsg_mux_one_hot #( + .width_p(flit_width_p), + .els_p(input_dirs_sparse_lp) + ) data_mux( + .data_i(fifo_data_sparse_lo), + .sel_one_hot_i(data_sel_lo), + .data_o(link_o_cast[(i * (2 + flit_width_p)) + (flit_width_p - 1)-:flit_width_p]) + ); + bsg_unconcentrate_static #(.pattern_els_p(routing_matrix_p[(dirs_lp + i) * dirs_lp+:dirs_lp])) unc1( + .i(yumis_lo), + .o(yumis[i * dirs_lp+:dirs_lp]) + ); + end + endgenerate + bsg_transpose #( + .width_p(dirs_lp), + .els_p(dirs_lp) + ) yumis_trans( + .i(yumis), + .o(yumis_transpose) + ); +endmodule +module bsg_wormhole_router_decoder_dor ( + target_cord_i, + my_cord_i, + req_o +); + parameter dims_p = 2; + parameter cord_dims_p = dims_p; + parameter reverse_order_p = 0; + parameter signed [(cord_dims_p >= 0 ? ((cord_dims_p + 1) * 32) - 1 : ((1 - cord_dims_p) * 32) + ((cord_dims_p * 32) - 1)):(cord_dims_p >= 0 ? 0 : cord_dims_p * 32)] cord_markers_pos_p = 96'h000000050000000400000000; + parameter output_dirs_lp = (2 * dims_p) + 1; + input [cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1:0] target_cord_i; + input [cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1:0] my_cord_i; + output wire [output_dirs_lp - 1:0] req_o; + genvar _gv_i_38; + wire [dims_p - 1:0] eq; + wire [dims_p - 1:0] lt; + wire [dims_p - 1:0] gt; + generate + for (_gv_i_38 = 0; _gv_i_38 < dims_p; _gv_i_38 = _gv_i_38 + 1) begin : rof + localparam i = _gv_i_38; + localparam upper_marker_lp = cord_markers_pos_p[(cord_dims_p >= 0 ? i + 1 : cord_dims_p - (i + 1)) * 32+:32]; + localparam lower_marker_lp = cord_markers_pos_p[(cord_dims_p >= 0 ? i : cord_dims_p - i) * 32+:32]; + localparam local_cord_width_p = upper_marker_lp - lower_marker_lp; + wire [local_cord_width_p - 1:0] targ_cord = target_cord_i[upper_marker_lp - 1:lower_marker_lp]; + wire [local_cord_width_p - 1:0] my_cord = my_cord_i[upper_marker_lp - 1:lower_marker_lp]; + assign eq[i] = targ_cord == my_cord; + assign lt[i] = targ_cord < my_cord; + assign gt[i] = ~eq[i] & ~lt[i]; + end + endgenerate + assign req_o[0] = &eq; + generate + if (reverse_order_p) begin : rev + assign req_o[((dims_p - 1) * 2) + 1] = lt[dims_p - 1]; + assign req_o[((dims_p - 1) * 2) + 2] = gt[dims_p - 1]; + if (dims_p > 1) begin : fi1 + for (_gv_i_38 = dims_p - 2; _gv_i_38 >= 0; _gv_i_38 = _gv_i_38 - 1) begin : rof3 + localparam i = _gv_i_38; + assign req_o[(i * 2) + 1] = &eq[dims_p - 1:i + 1] & lt[i]; + assign req_o[(i * 2) + 2] = &eq[dims_p - 1:i + 1] & gt[i]; + end + end + end + else begin : fwd + assign req_o[1] = lt[0]; + assign req_o[2] = gt[0]; + for (_gv_i_38 = 1; _gv_i_38 < dims_p; _gv_i_38 = _gv_i_38 + 1) begin : rof2 + localparam i = _gv_i_38; + assign req_o[(i * 2) + 1] = &eq[i - 1:0] & lt[i]; + assign req_o[(i * 2) + 2] = &eq[i - 1:0] & gt[i]; + end + end + endgenerate +endmodule +module bsg_wormhole_router_input_control ( + clk_i, + reset_i, + fifo_v_i, + fifo_decoded_dest_i, + fifo_payload_len_i, + fifo_yumi_i, + reqs_o, + release_o, + detected_header_o +); + parameter output_dirs_p = 0; + parameter payload_len_bits_p = 0; + input clk_i; + input reset_i; + input fifo_v_i; + input [output_dirs_p - 1:0] fifo_decoded_dest_i; + input [payload_len_bits_p - 1:0] fifo_payload_len_i; + input fifo_yumi_i; + output wire [output_dirs_p - 1:0] reqs_o; + output wire release_o; + output wire detected_header_o; + wire [payload_len_bits_p - 1:0] payload_ctr_r; + wire counter_expired = !payload_ctr_r; + wire fifo_has_hdr = counter_expired & fifo_v_i; + bsg_counter_set_down #( + .width_p(payload_len_bits_p), + .set_and_down_exclusive_p(1'b1) + ) ctr( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(fifo_yumi_i & counter_expired), + .val_i(fifo_payload_len_i), + .down_i(fifo_yumi_i & ~counter_expired), + .count_r_o(payload_ctr_r) + ); + assign reqs_o = (fifo_has_hdr ? fifo_decoded_dest_i : {output_dirs_p {1'sb0}}); + assign release_o = counter_expired; + assign detected_header_o = fifo_has_hdr; +endmodule +module bsg_wormhole_router_output_control ( + clk_i, + reset_i, + reqs_i, + release_i, + valid_i, + yumi_o, + ready_and_i, + valid_o, + data_sel_o +); + parameter input_dirs_p = 0; + parameter hold_on_valid_p = 0; + input clk_i; + input reset_i; + input [input_dirs_p - 1:0] reqs_i; + input [input_dirs_p - 1:0] release_i; + input [input_dirs_p - 1:0] valid_i; + output wire [input_dirs_p - 1:0] yumi_o; + input ready_and_i; + output wire valid_o; + output wire [input_dirs_p - 1:0] data_sel_o; + wire [input_dirs_p - 1:0] scheduled_r; + wire [input_dirs_p - 1:0] scheduled_with_release; + wire [input_dirs_p - 1:0] scheduled_n; + wire [input_dirs_p - 1:0] grants_lo; + bsg_dff_reset #(.width_p(input_dirs_p)) scheduled_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(scheduled_n), + .data_o(scheduled_r) + ); + assign scheduled_with_release = scheduled_r & ~release_i; + wire free_to_schedule = !scheduled_with_release; + bsg_round_robin_arb #( + .inputs_p(input_dirs_p), + .hold_on_valid_p(hold_on_valid_p) + ) brr( + .clk_i(clk_i), + .reset_i(reset_i), + .grants_en_i(free_to_schedule), + .reqs_i(reqs_i), + .grants_o(grants_lo), + .sel_one_hot_o(), + .v_o(), + .tag_o(), + .yumi_i((free_to_schedule & ready_and_i) & valid_o) + ); + assign scheduled_n = grants_lo | scheduled_with_release; + assign data_sel_o = scheduled_n; + assign valid_o = |(scheduled_n & valid_i); + assign yumi_o = (ready_and_i ? scheduled_n & valid_i : {input_dirs_p {1'sb0}}); +endmodule +module compareRecFN ( + a, + b, + signaling, + lt, + eq, + gt, + unordered, + exceptionFlags +); + parameter expWidth = 3; + parameter sigWidth = 3; + input [expWidth + sigWidth:0] a; + input [expWidth + sigWidth:0] b; + input signaling; + output wire lt; + output wire eq; + output wire gt; + output wire unordered; + output wire [4:0] exceptionFlags; + wire isNaNA; + wire isInfA; + wire isZeroA; + wire signA; + wire signed [expWidth + 1:0] sExpA; + wire [sigWidth:0] sigA; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN_a( + .in(a), + .isNaN(isNaNA), + .isInf(isInfA), + .isZero(isZeroA), + .sign(signA), + .sExp(sExpA), + .sig(sigA) + ); + wire isSigNaNA; + isSigNaNRecFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) isSigNaN_a( + .in(a), + .isSigNaN(isSigNaNA) + ); + wire isNaNB; + wire isInfB; + wire isZeroB; + wire signB; + wire signed [expWidth + 1:0] sExpB; + wire [sigWidth:0] sigB; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN_b( + .in(b), + .isNaN(isNaNB), + .isInf(isInfB), + .isZero(isZeroB), + .sign(signB), + .sExp(sExpB), + .sig(sigB) + ); + wire isSigNaNB; + isSigNaNRecFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) isSigNaN_b( + .in(b), + .isSigNaN(isSigNaNB) + ); + wire ordered = !isNaNA && !isNaNB; + wire bothInfs = isInfA && isInfB; + wire bothZeros = isZeroA && isZeroB; + wire eqHiExps = (sExpA >> (expWidth - 2)) == (sExpB >> (expWidth - 2)); + wire eqExps = eqHiExps && (sExpA[expWidth - 3:0] == sExpB[expWidth - 3:0]); + wire common_ltMags = (((sExpA >> (expWidth - 2)) < (sExpB >> (expWidth - 2))) || (eqHiExps && (sExpA[expWidth - 3:0] < sExpB[expWidth - 3:0]))) || (eqExps && (sigA < sigB)); + wire common_eqMags = eqExps && (sigA == sigB); + wire ordered_lt = !bothZeros && ((signA && !signB) || (!bothInfs && (((signA && !common_ltMags) && !common_eqMags) || (!signB && common_ltMags)))); + wire ordered_eq = bothZeros || ((signA == signB) && (bothInfs || common_eqMags)); + wire invalid = (isSigNaNA || isSigNaNB) || (signaling && !ordered); + assign lt = ordered && ordered_lt; + assign eq = ordered && ordered_eq; + assign gt = (ordered && !ordered_lt) && !ordered_eq; + assign unordered = !ordered; + assign exceptionFlags = {invalid, 4'b0000}; +endmodule +module divSqrtRecFNToRaw ( + nReset, + clock, + control, + inReady, + inValid, + sqrtOp, + a, + b, + roundingMode, + outValid, + sqrtOpOut, + roundingModeOut, + invalidExc, + infiniteExc, + out_isNaN, + out_isInf, + out_isZero, + out_sign, + out_sExp, + out_sig +); + parameter expWidth = 8; + parameter sigWidth = 24; + parameter options = 0; + parameter bits_per_iter_p = 1; + input nReset; + input clock; + input [0:0] control; + output wire inReady; + input inValid; + input sqrtOp; + input [expWidth + sigWidth:0] a; + input [expWidth + sigWidth:0] b; + input [2:0] roundingMode; + output wire outValid; + output wire sqrtOpOut; + output wire [2:0] roundingModeOut; + output wire invalidExc; + output wire infiniteExc; + output wire out_isNaN; + output wire out_isInf; + output wire out_isZero; + output wire out_sign; + output wire signed [expWidth + 1:0] out_sExp; + output wire [sigWidth + 2:0] out_sig; + generate + if (bits_per_iter_p == 2) begin : divSqrtTwoBitPerIter + divSqrtRecFNToRaw_medium #( + .expWidth(expWidth), + .sigWidth(sigWidth), + .options(options) + ) divSqrtRecFNToRaw( + .nReset(nReset), + .clock(clock), + .control(control), + .inReady(inReady), + .inValid(inValid), + .sqrtOp(sqrtOp), + .a(a), + .b(b), + .roundingMode(roundingMode), + .outValid(outValid), + .sqrtOpOut(sqrtOpOut), + .roundingModeOut(roundingModeOut), + .invalidExc(invalidExc), + .infiniteExc(infiniteExc), + .out_isNaN(out_isNaN), + .out_isInf(out_isInf), + .out_isZero(out_isZero), + .out_sign(out_sign), + .out_sExp(out_sExp), + .out_sig(out_sig) + ); + end + else begin : divSqrtOneBitPerIter + divSqrtRecFNToRaw_small #( + .expWidth(expWidth), + .sigWidth(sigWidth), + .options(options) + ) divSqrtRecFNToRaw( + .nReset(nReset), + .clock(clock), + .control(control), + .inReady(inReady), + .inValid(inValid), + .sqrtOp(sqrtOp), + .a(a), + .b(b), + .roundingMode(roundingMode), + .outValid(outValid), + .sqrtOpOut(sqrtOpOut), + .roundingModeOut(roundingModeOut), + .invalidExc(invalidExc), + .infiniteExc(infiniteExc), + .out_isNaN(out_isNaN), + .out_isInf(out_isInf), + .out_isZero(out_isZero), + .out_sign(out_sign), + .out_sExp(out_sExp), + .out_sig(out_sig) + ); + end + endgenerate +endmodule +module divSqrtRecFNToRaw_medium ( + nReset, + clock, + control, + inReady, + inValid, + sqrtOp, + a, + b, + roundingMode, + outValid, + sqrtOpOut, + roundingModeOut, + invalidExc, + infiniteExc, + out_isNaN, + out_isInf, + out_isZero, + out_sign, + out_sExp, + out_sig +); + parameter expWidth = 8; + parameter sigWidth = 24; + parameter options = 0; + input nReset; + input clock; + input [0:0] control; + output wire inReady; + input inValid; + input sqrtOp; + input [expWidth + sigWidth:0] a; + input [expWidth + sigWidth:0] b; + input [2:0] roundingMode; + output wire outValid; + output wire sqrtOpOut; + output wire [2:0] roundingModeOut; + output wire invalidExc; + output wire infiniteExc; + output wire out_isNaN; + output wire out_isInf; + output wire out_isZero; + output wire out_sign; + output wire signed [expWidth + 1:0] out_sExp; + output wire [sigWidth + 2:0] out_sig; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + wire isNaNA_S; + wire isInfA_S; + wire isZeroA_S; + wire signA_S; + wire signed [expWidth + 1:0] sExpA_S; + wire [sigWidth:0] sigA_S; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN_a( + .in(a), + .isNaN(isNaNA_S), + .isInf(isInfA_S), + .isZero(isZeroA_S), + .sign(signA_S), + .sExp(sExpA_S), + .sig(sigA_S) + ); + wire isSigNaNA_S; + isSigNaNRecFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) isSigNaN_a( + .in(a), + .isSigNaN(isSigNaNA_S) + ); + wire isNaNB_S; + wire isInfB_S; + wire isZeroB_S; + wire signB_S; + wire signed [expWidth + 1:0] sExpB_S; + wire [sigWidth:0] sigB_S; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN_b( + .in(b), + .isNaN(isNaNB_S), + .isInf(isInfB_S), + .isZero(isZeroB_S), + .sign(signB_S), + .sExp(sExpB_S), + .sig(sigB_S) + ); + wire isSigNaNB_S; + isSigNaNRecFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) isSigNaN_b( + .in(b), + .isSigNaN(isSigNaNB_S) + ); + wire notSigNaNIn_invalidExc_S_div = (isZeroA_S && isZeroB_S) || (isInfA_S && isInfB_S); + wire notSigNaNIn_invalidExc_S_sqrt = (!isNaNA_S && !isZeroA_S) && signA_S; + wire majorExc_S = (sqrtOp ? isSigNaNA_S || notSigNaNIn_invalidExc_S_sqrt : ((isSigNaNA_S || isSigNaNB_S) || notSigNaNIn_invalidExc_S_div) || ((!isNaNA_S && !isInfA_S) && isZeroB_S)); + wire isNaN_S = (sqrtOp ? isNaNA_S || notSigNaNIn_invalidExc_S_sqrt : (isNaNA_S || isNaNB_S) || notSigNaNIn_invalidExc_S_div); + wire isInf_S = (sqrtOp ? isInfA_S : isInfA_S || isZeroB_S); + wire isZero_S = (sqrtOp ? isZeroA_S : isZeroA_S || isInfB_S); + wire sign_S = signA_S ^ (!sqrtOp && signB_S); + wire specialCaseA_S = (isNaNA_S || isInfA_S) || isZeroA_S; + wire specialCaseB_S = (isNaNB_S || isInfB_S) || isZeroB_S; + wire normalCase_S_div = !specialCaseA_S && !specialCaseB_S; + wire normalCase_S_sqrt = !specialCaseA_S && !signA_S; + wire normalCase_S = (sqrtOp ? normalCase_S_sqrt : normalCase_S_div); + wire signed [expWidth + 2:0] sExpQuot_S_div = sExpA_S + {{3 {sExpB_S[expWidth]}}, ~sExpB_S[expWidth - 1:0]}; + wire signed [expWidth + 1:0] sSatExpQuot_S_div = {((7 << (expWidth - 2)) <= sExpQuot_S_div ? 4'b0110 : sExpQuot_S_div[expWidth + 1:expWidth - 2]), sExpQuot_S_div[expWidth - 3:0]}; + wire evenSqrt_S = sqrtOp && !sExpA_S[0]; + wire oddSqrt_S = sqrtOp && sExpA_S[0]; + reg [clog2(sigWidth + 3) - 1:0] cycleNum; + reg sqrtOp_Z; + reg majorExc_Z; + reg isNaN_Z; + reg isInf_Z; + reg isZero_Z; + reg sign_Z; + reg signed [expWidth + 1:0] sExp_Z; + reg [sigWidth - 2:0] fractB_Z; + reg [2:0] roundingMode_Z; + reg [sigWidth + 1:0] rem_Z; + reg notZeroRem_Z; + reg [sigWidth + 1:0] sigX_Z; + wire idle = cycleNum == 0; + assign inReady = cycleNum <= 1; + wire entering = inReady && inValid; + wire entering_normalCase = entering && normalCase_S; + wire skipCycle2 = (cycleNum == 4) && sigX_Z[sigWidth + 1]; + wire step1Case = skipCycle2 || (cycleNum <= 2); + always @(posedge clock) + if (!nReset) + cycleNum <= 0; + else if (inValid || !idle) + cycleNum <= ((entering && !normalCase_S ? 1 : 0) | (entering_normalCase ? (sqrtOp ? (sExpA_S[0] ? sigWidth : sigWidth + 1) : sigWidth + 2) : 0)) | (!idle ? cycleNum - (step1Case ? 1 : 2) : 0); + always @(posedge clock) + if (!nReset) begin + sqrtOp_Z <= 1'b0; + majorExc_Z <= 1'b0; + isNaN_Z <= 1'b0; + isInf_Z <= 1'b0; + isZero_Z <= 1'b0; + sign_Z <= 1'b0; + sExp_Z <= 1'sb0; + roundingMode_Z <= 1'sb0; + fractB_Z <= 1'sb0; + end + else begin + if (entering) begin + sqrtOp_Z <= sqrtOp; + majorExc_Z <= majorExc_S; + isNaN_Z <= isNaN_S; + isInf_Z <= isInf_S; + isZero_Z <= isZero_S; + sign_Z <= sign_S; + end + if (entering_normalCase) begin + sExp_Z <= (sqrtOp ? (sExpA_S >>> 1) + (1 << (expWidth - 1)) : sSatExpQuot_S_div); + roundingMode_Z <= roundingMode; + end + if (entering_normalCase && !sqrtOp) + fractB_Z <= sigB_S[sigWidth - 2:0]; + end + wire [1:0] decHiSigA_S = sigA_S[sigWidth - 1:sigWidth - 2] - 1; + wire [sigWidth + 2:0] rem = (inReady ? (oddSqrt_S ? {decHiSigA_S, sigA_S[sigWidth - 3:0], 3'b000} : sigA_S << 1) : rem_Z << 1); + wire [sigWidth:0] bitMask = ({{sigWidth + 2 {1'b0}}, 1'b1} << cycleNum) >> 2; + wire [sigWidth:0] bitMaskNext = bitMask >> 1; + wire loadDiv = inReady && !sqrtOp; + wire loadEvenSqrt = inReady && evenSqrt_S; + wire loadOddSqrt = inReady && oddSqrt_S; + wire calc = !inReady; + wire calcDiv = calc && !sqrtOp_Z; + wire calcSqrt = calc && sqrtOp_Z; + wire [sigWidth + 1:0] trialTerm; + function automatic [sigWidth - 1:0] sv2v_cast_551E6; + input reg [sigWidth - 1:0] inp; + sv2v_cast_551E6 = inp; + endfunction + function automatic [((sigWidth - 2) >= 0 ? sigWidth - 1 : 3 - sigWidth) - 1:0] sv2v_cast_B6B06; + input reg [((sigWidth - 2) >= 0 ? sigWidth - 1 : 3 - sigWidth) - 1:0] inp; + sv2v_cast_B6B06 = inp; + endfunction + wire [((sigWidth + 1) >= 0 ? (5 * (sigWidth + 2)) - 1 : (5 * (1 - (sigWidth + 1))) + (sigWidth + 0)):((sigWidth + 1) >= 0 ? 0 : sigWidth + 1)] trialTermMuxIn = {sigB_S, 3'b001, sv2v_cast_551E6(1'b0), 3'b101, sv2v_cast_B6B06(1'b0), 2'b01, fractB_Z, 1'b0, {sigX_Z[sigWidth:0], 1'b0} | bitMask}; + wire [4:0] trialTermSel = {loadDiv, loadEvenSqrt, loadOddSqrt, calcDiv, calcSqrt}; + bsg_mux_one_hot #( + .width_p(sigWidth + 2), + .els_p(5) + ) trialTerm_mux( + .data_i(trialTermMuxIn), + .sel_one_hot_i(trialTermSel), + .data_o(trialTerm) + ); + wire signed [sigWidth + 3:0] trialRem1 = rem - trialTerm; + wire newBit1 = 0 <= trialRem1; + wire [sigWidth + 1:0] sigXNext = sigX_Z | (newBit1 ? bitMask : 0); + wire [sigWidth + 1:0] trialTermNext = (sqrtOp_Z ? (sigXNext << 1) | bitMaskNext : trialTerm); + wire [sigWidth + 2:0] remNext = (newBit1 ? trialRem1[sigWidth + 1:0] : rem[sigWidth + 1:0]) << 1; + wire signed [sigWidth + 3:0] trialRem2 = remNext - trialTermNext; + wire newBit2 = 0 <= trialRem2; + wire [sigWidth + 1:0] sigX_N; + function automatic [((sigWidth + 0) >= 0 ? sigWidth + 1 : 1 - (sigWidth + 0)) - 1:0] sv2v_cast_F24F6; + input reg [((sigWidth + 0) >= 0 ? sigWidth + 1 : 1 - (sigWidth + 0)) - 1:0] inp; + sv2v_cast_F24F6 = inp; + endfunction + wire [((sigWidth + 1) >= 0 ? (4 * (sigWidth + 2)) - 1 : (4 * (1 - (sigWidth + 1))) + (sigWidth + 0)):((sigWidth + 1) >= 0 ? 0 : sigWidth + 1)] sigX_NMuxIn = {newBit1, sv2v_cast_F24F6(1'b0), 2'b01, sv2v_cast_551E6(1'b0), 2'b01, newBit1, sv2v_cast_B6B06(1'b0), sigXNext | (newBit2 ? bitMaskNext : sv2v_cast_F24F6(1'b0))}; + wire [3:0] sigX_NSel = {loadDiv, loadEvenSqrt, loadOddSqrt, calc}; + bsg_mux_one_hot #( + .width_p(sigWidth + 2), + .els_p(4) + ) sigX_N_mux( + .data_i(sigX_NMuxIn), + .sel_one_hot_i(sigX_NSel), + .data_o(sigX_N) + ); + always @(posedge clock) + if (!nReset) begin + rem_Z <= 1'sb0; + sigX_Z <= 1'sb0; + notZeroRem_Z <= 1'b0; + end + else begin + if (entering_normalCase || (cycleNum > 2)) + rem_Z <= (inReady || skipCycle2 ? (newBit1 ? trialRem1 : rem) : (newBit2 ? trialRem2 : remNext)); + if (entering_normalCase || (!inReady && (newBit1 | newBit2))) begin + notZeroRem_Z <= (trialRem1 != 0) && (trialRem2 != 0); + sigX_Z <= sigX_N; + end + end + assign outValid = cycleNum == 1; + assign sqrtOpOut = sqrtOp_Z; + assign roundingModeOut = roundingMode_Z; + assign invalidExc = majorExc_Z && isNaN_Z; + assign infiniteExc = majorExc_Z && !isNaN_Z; + assign out_isNaN = isNaN_Z; + assign out_isInf = isInf_Z; + assign out_isZero = isZero_Z; + assign out_sign = sign_Z; + assign out_sExp = sExp_Z; + assign out_sig = {sigX_Z, notZeroRem_Z}; +endmodule +module divSqrtRecFNToRaw_small ( + nReset, + clock, + control, + inReady, + inValid, + sqrtOp, + a, + b, + roundingMode, + outValid, + sqrtOpOut, + roundingModeOut, + invalidExc, + infiniteExc, + out_isNaN, + out_isInf, + out_isZero, + out_sign, + out_sExp, + out_sig +); + parameter expWidth = 3; + parameter sigWidth = 3; + parameter options = 0; + input nReset; + input clock; + input [0:0] control; + output wire inReady; + input inValid; + input sqrtOp; + input [expWidth + sigWidth:0] a; + input [expWidth + sigWidth:0] b; + input [2:0] roundingMode; + output wire outValid; + output wire sqrtOpOut; + output wire [2:0] roundingModeOut; + output wire invalidExc; + output wire infiniteExc; + output wire out_isNaN; + output wire out_isInf; + output wire out_isZero; + output wire out_sign; + output wire signed [expWidth + 1:0] out_sExp; + output wire [sigWidth + 2:0] out_sig; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + wire isNaNA_S; + wire isInfA_S; + wire isZeroA_S; + wire signA_S; + wire signed [expWidth + 1:0] sExpA_S; + wire [sigWidth:0] sigA_S; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN_a( + .in(a), + .isNaN(isNaNA_S), + .isInf(isInfA_S), + .isZero(isZeroA_S), + .sign(signA_S), + .sExp(sExpA_S), + .sig(sigA_S) + ); + wire isSigNaNA_S; + isSigNaNRecFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) isSigNaN_a( + .in(a), + .isSigNaN(isSigNaNA_S) + ); + wire isNaNB_S; + wire isInfB_S; + wire isZeroB_S; + wire signB_S; + wire signed [expWidth + 1:0] sExpB_S; + wire [sigWidth:0] sigB_S; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN_b( + .in(b), + .isNaN(isNaNB_S), + .isInf(isInfB_S), + .isZero(isZeroB_S), + .sign(signB_S), + .sExp(sExpB_S), + .sig(sigB_S) + ); + wire isSigNaNB_S; + isSigNaNRecFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) isSigNaN_b( + .in(b), + .isSigNaN(isSigNaNB_S) + ); + wire notSigNaNIn_invalidExc_S_div = (isZeroA_S && isZeroB_S) || (isInfA_S && isInfB_S); + wire notSigNaNIn_invalidExc_S_sqrt = (!isNaNA_S && !isZeroA_S) && signA_S; + wire majorExc_S = (sqrtOp ? isSigNaNA_S || notSigNaNIn_invalidExc_S_sqrt : ((isSigNaNA_S || isSigNaNB_S) || notSigNaNIn_invalidExc_S_div) || ((!isNaNA_S && !isInfA_S) && isZeroB_S)); + wire isNaN_S = (sqrtOp ? isNaNA_S || notSigNaNIn_invalidExc_S_sqrt : (isNaNA_S || isNaNB_S) || notSigNaNIn_invalidExc_S_div); + wire isInf_S = (sqrtOp ? isInfA_S : isInfA_S || isZeroB_S); + wire isZero_S = (sqrtOp ? isZeroA_S : isZeroA_S || isInfB_S); + wire sign_S = signA_S ^ (!sqrtOp && signB_S); + wire specialCaseA_S = (isNaNA_S || isInfA_S) || isZeroA_S; + wire specialCaseB_S = (isNaNB_S || isInfB_S) || isZeroB_S; + wire normalCase_S_div = !specialCaseA_S && !specialCaseB_S; + wire normalCase_S_sqrt = !specialCaseA_S && !signA_S; + wire normalCase_S = (sqrtOp ? normalCase_S_sqrt : normalCase_S_div); + wire signed [expWidth + 2:0] sExpQuot_S_div = sExpA_S + {{3 {sExpB_S[expWidth]}}, ~sExpB_S[expWidth - 1:0]}; + wire signed [expWidth + 1:0] sSatExpQuot_S_div = {((7 << (expWidth - 2)) <= sExpQuot_S_div ? 4'b0110 : sExpQuot_S_div[expWidth + 1:expWidth - 2]), sExpQuot_S_div[expWidth - 3:0]}; + wire evenSqrt_S = sqrtOp && !sExpA_S[0]; + wire oddSqrt_S = sqrtOp && sExpA_S[0]; + reg [clog2(sigWidth + 3) - 1:0] cycleNum; + reg sqrtOp_Z; + reg majorExc_Z; + reg isNaN_Z; + reg isInf_Z; + reg isZero_Z; + reg sign_Z; + reg signed [expWidth + 1:0] sExp_Z; + reg [sigWidth - 2:0] fractB_Z; + reg [2:0] roundingMode_Z; + reg [sigWidth + 1:0] rem_Z; + reg notZeroRem_Z; + reg [sigWidth + 1:0] sigX_Z; + wire idle = cycleNum == 0; + assign inReady = cycleNum <= 1; + wire entering = inReady && inValid; + wire entering_normalCase = entering && normalCase_S; + wire skipCycle2 = (cycleNum == 3) && sigX_Z[sigWidth + 1]; + always @(posedge clock) + if (!nReset) + cycleNum <= 0; + else if (!idle || inValid) + cycleNum <= (((entering && !normalCase_S ? 1 : 0) | (entering_normalCase ? (sqrtOp ? (sExpA_S[0] ? sigWidth : sigWidth + 1) : sigWidth + 2) : 0)) | (!idle && !skipCycle2 ? cycleNum - 1 : 0)) | (!idle && skipCycle2 ? 1 : 0); + always @(posedge clock) + if (!nReset) begin + sqrtOp_Z <= 1'b0; + majorExc_Z <= 1'b0; + isNaN_Z <= 1'b0; + isInf_Z <= 1'b0; + isZero_Z <= 1'b0; + sign_Z <= 1'b0; + sExp_Z <= 1'sb0; + roundingMode_Z <= 1'sb0; + fractB_Z <= 1'sb0; + end + else begin + if (entering) begin + sqrtOp_Z <= sqrtOp; + majorExc_Z <= majorExc_S; + isNaN_Z <= isNaN_S; + isInf_Z <= isInf_S; + isZero_Z <= isZero_S; + sign_Z <= sign_S; + end + if (entering_normalCase) begin + sExp_Z <= (sqrtOp ? (sExpA_S >>> 1) + (1 << (expWidth - 1)) : sSatExpQuot_S_div); + roundingMode_Z <= roundingMode; + end + if (entering_normalCase && !sqrtOp) + fractB_Z <= sigB_S[sigWidth - 2:0]; + end + wire [1:0] decHiSigA_S = sigA_S[sigWidth - 1:sigWidth - 2] - 1; + wire [sigWidth + 2:0] rem = ((inReady && !oddSqrt_S ? sigA_S << 1 : 0) | (inReady && oddSqrt_S ? {decHiSigA_S, sigA_S[sigWidth - 3:0], 3'b000} : 0)) | (!inReady ? rem_Z << 1 : 0); + wire [sigWidth:0] bitMask = ({{sigWidth + 2 {1'b0}}, 1'b1} << cycleNum) >> 2; + wire [sigWidth + 1:0] trialTerm = ((((inReady && !sqrtOp ? sigB_S << 1 : 0) | (inReady && evenSqrt_S ? 1 << sigWidth : 0)) | (inReady && oddSqrt_S ? 5 << (sigWidth - 1) : 0)) | (!inReady && !sqrtOp_Z ? {1'b1, fractB_Z} << 1 : 0)) | (!inReady && sqrtOp_Z ? (sigX_Z << 1) | bitMask : 0); + wire signed [sigWidth + 3:0] trialRem = rem - trialTerm; + wire newBit = 0 <= trialRem; + always @(posedge clock) + if (!nReset) begin + rem_Z <= 1'sb0; + sigX_Z <= 1'sb0; + notZeroRem_Z <= 1'b0; + end + else begin + if (entering_normalCase || (cycleNum > 2)) + rem_Z <= (newBit ? trialRem : rem); + if (entering_normalCase || (!inReady && newBit)) begin + notZeroRem_Z <= trialRem != 0; + sigX_Z <= (((inReady && !sqrtOp ? newBit << (sigWidth + 1) : 0) | (inReady && sqrtOp ? 1 << sigWidth : 0)) | (inReady && oddSqrt_S ? newBit << (sigWidth - 1) : 0)) | (!inReady ? sigX_Z | bitMask : 0); + end + end + assign outValid = cycleNum == 1; + assign sqrtOpOut = sqrtOp_Z; + assign roundingModeOut = roundingMode_Z; + assign invalidExc = majorExc_Z && isNaN_Z; + assign infiniteExc = majorExc_Z && !isNaN_Z; + assign out_isNaN = isNaN_Z; + assign out_isInf = isInf_Z; + assign out_isZero = isZero_Z; + assign out_sign = sign_Z; + assign out_sExp = sExp_Z; + assign out_sig = {sigX_Z, notZeroRem_Z}; +endmodule +module fNToRecFN ( + in, + out +); + parameter expWidth = 3; + parameter sigWidth = 3; + input [(expWidth + sigWidth) - 1:0] in; + output wire [expWidth + sigWidth:0] out; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + localparam normDistWidth = clog2(sigWidth); + wire sign; + wire [expWidth - 1:0] expIn; + wire [sigWidth - 2:0] fractIn; + assign {sign, expIn, fractIn} = in; + wire isZeroExpIn = expIn == 0; + wire isZeroFractIn = fractIn == 0; + wire [normDistWidth - 1:0] normDist; + bsg_counting_leading_zeros #(.width_p(sigWidth - 1)) clz( + .a_i(fractIn), + .num_zero_o(normDist) + ); + wire [sigWidth - 2:0] subnormFract = (fractIn << normDist) << 1; + wire [expWidth:0] adjustedExp = (isZeroExpIn ? normDist ^ ((1 << (expWidth + 1)) - 1) : expIn) + ((1 << (expWidth - 1)) | (isZeroExpIn ? 2 : 1)); + wire isZero = isZeroExpIn && isZeroFractIn; + wire isSpecial = adjustedExp[expWidth:expWidth - 1] == 'b11; + wire [expWidth:0] exp; + assign exp[expWidth:expWidth - 2] = (isSpecial ? {2'b11, !isZeroFractIn} : (isZero ? 3'b000 : adjustedExp[expWidth:expWidth - 2])); + assign exp[expWidth - 3:0] = adjustedExp; + assign out = {sign, exp, (isZeroExpIn ? subnormFract : fractIn)}; +endmodule +module reverse ( + in, + out +); + parameter width = 1; + input [width - 1:0] in; + output wire [width - 1:0] out; + genvar _gv_ix_1; + generate + for (_gv_ix_1 = 0; _gv_ix_1 < width; _gv_ix_1 = _gv_ix_1 + 1) begin : Bit + localparam ix = _gv_ix_1; + assign out[ix] = in[(width - 1) - ix]; + end + endgenerate +endmodule +module lowMaskHiLo ( + in, + out +); + parameter inWidth = 1; + parameter topBound = 1; + parameter bottomBound = 0; + input [inWidth - 1:0] in; + output wire [(topBound - bottomBound) - 1:0] out; + localparam numInVals = 1 << inWidth; + wire signed [numInVals:0] c; + assign c[numInVals] = 1; + assign c[numInVals - 1:0] = 0; + wire [(topBound - bottomBound) - 1:0] reverseOut = (c >>> in) >> (numInVals - topBound); + reverse #(.width(topBound - bottomBound)) reverse( + .in(reverseOut), + .out(out) + ); +endmodule +module lowMaskLoHi ( + in, + out +); + parameter inWidth = 1; + parameter topBound = 0; + parameter bottomBound = 1; + input [inWidth - 1:0] in; + output wire [(bottomBound - topBound) - 1:0] out; + localparam numInVals = 1 << inWidth; + wire signed [numInVals:0] c; + assign c[numInVals] = 1; + assign c[numInVals - 1:0] = 0; + wire [(bottomBound - topBound) - 1:0] reverseOut = (c >>> ~in) >> (topBound + 1); + reverse #(.width(bottomBound - topBound)) reverse( + .in(reverseOut), + .out(out) + ); +endmodule +module compressBy2 ( + in, + out +); + parameter inWidth = 1; + input [inWidth - 1:0] in; + output wire [(inWidth - 1) / 2:0] out; + localparam maxBitNumReduced = (inWidth - 1) / 2; + genvar _gv_ix_3; + generate + for (_gv_ix_3 = 0; _gv_ix_3 < maxBitNumReduced; _gv_ix_3 = _gv_ix_3 + 1) begin : Bit + localparam ix = _gv_ix_3; + assign out[ix] = |in[(ix * 2) + 1:ix * 2]; + end + endgenerate + assign out[maxBitNumReduced] = |in[inWidth - 1:maxBitNumReduced * 2]; +endmodule +module compressBy4 ( + in, + out +); + parameter inWidth = 1; + input [inWidth - 1:0] in; + output wire [(inWidth - 1) / 4:0] out; + localparam maxBitNumReduced = (inWidth - 1) / 4; + genvar _gv_ix_4; + generate + for (_gv_ix_4 = 0; _gv_ix_4 < maxBitNumReduced; _gv_ix_4 = _gv_ix_4 + 1) begin : Bit + localparam ix = _gv_ix_4; + assign out[ix] = |in[(ix * 4) + 3:ix * 4]; + end + endgenerate + assign out[maxBitNumReduced] = |in[inWidth - 1:maxBitNumReduced * 4]; +endmodule +module recFNToRawFN ( + in, + isNaN, + isInf, + isZero, + sign, + sExp, + sig +); + parameter expWidth = 3; + parameter sigWidth = 3; + input [expWidth + sigWidth:0] in; + output wire isNaN; + output wire isInf; + output wire isZero; + output wire sign; + output wire signed [expWidth + 1:0] sExp; + output wire [sigWidth:0] sig; + wire [expWidth:0] exp; + wire [sigWidth - 2:0] fract; + assign {sign, exp, fract} = in; + wire isSpecial = (exp >> (expWidth - 1)) == 'b11; + assign isNaN = isSpecial && exp[expWidth - 2]; + assign isInf = isSpecial && !exp[expWidth - 2]; + assign isZero = (exp >> (expWidth - 2)) == 'b0; + assign sExp = exp; + assign sig = {1'b0, !isZero, fract}; +endmodule +module roundAnyRawFNToRecFN ( + control, + invalidExc, + infiniteExc, + in_isNaN, + in_isInf, + in_isZero, + in_sign, + in_sExp, + in_sig, + roundingMode, + out, + exceptionFlags +); + parameter inExpWidth = 3; + parameter inSigWidth = 3; + parameter outExpWidth = 3; + parameter outSigWidth = 3; + parameter options = 0; + input [0:0] control; + input invalidExc; + input infiniteExc; + input in_isNaN; + input in_isInf; + input in_isZero; + input in_sign; + input signed [inExpWidth + 1:0] in_sExp; + input [inSigWidth:0] in_sig; + input [2:0] roundingMode; + output wire [outExpWidth + outSigWidth:0] out; + output wire [4:0] exceptionFlags; + localparam sigMSBitAlwaysZero = (options & 1) != 0; + localparam effectiveInSigWidth = (sigMSBitAlwaysZero ? inSigWidth : inSigWidth + 1); + localparam neverUnderflows = ((options & 6) != 0) || (inExpWidth < outExpWidth); + localparam neverOverflows = ((options & 8) != 0) || (inExpWidth < outExpWidth); + localparam adjustedExpWidth = (inExpWidth < outExpWidth ? outExpWidth + 1 : (inExpWidth == outExpWidth ? inExpWidth + 2 : inExpWidth + 3)); + localparam outNaNExp = 7 << (outExpWidth - 2); + localparam outInfExp = 6 << (outExpWidth - 2); + localparam outMaxFiniteExp = outInfExp - 1; + localparam outMinNormExp = (1 << (outExpWidth - 1)) + 2; + localparam outMinNonzeroExp = (outMinNormExp - outSigWidth) + 1; + wire roundingMode_near_even = roundingMode == 3'b000; + wire roundingMode_minMag = roundingMode == 3'b001; + wire roundingMode_min = roundingMode == 3'b010; + wire roundingMode_max = roundingMode == 3'b011; + wire roundingMode_near_maxMag = roundingMode == 3'b100; + wire roundingMode_odd = roundingMode == 3'b110; + wire roundMagUp = (roundingMode_min && in_sign) || (roundingMode_max && !in_sign); + wire isNaNOut = invalidExc || (!infiniteExc && in_isNaN); + wire propagateNaNPayload = 0; + wire signed [adjustedExpWidth - 1:0] sAdjustedExp = in_sExp + ((1 << outExpWidth) - (1 << inExpWidth)); + wire [outSigWidth + 2:0] adjustedSig; + generate + if (inSigWidth <= (outSigWidth + 2)) begin : genblk1 + assign adjustedSig = in_sig << ((outSigWidth - inSigWidth) + 2); + end + else begin : genblk1 + assign adjustedSig = {in_sig[inSigWidth:(inSigWidth - outSigWidth) - 1], |in_sig[(inSigWidth - outSigWidth) - 2:0]}; + end + endgenerate + wire doShiftSigDown1 = (sigMSBitAlwaysZero ? 0 : adjustedSig[outSigWidth + 2]); + wire [outExpWidth:0] common_expOut; + wire [outSigWidth - 2:0] common_fractOut; + wire common_overflow; + wire common_totalUnderflow; + wire common_underflow; + wire common_inexact; + generate + if ((neverOverflows && neverUnderflows) && (effectiveInSigWidth <= outSigWidth)) begin : genblk2 + assign common_expOut = sAdjustedExp + doShiftSigDown1; + assign common_fractOut = (doShiftSigDown1 ? adjustedSig >> 3 : adjustedSig >> 2); + assign common_overflow = 0; + assign common_totalUnderflow = 0; + assign common_underflow = 0; + assign common_inexact = 0; + end + else begin : genblk2 + wire [outSigWidth + 2:0] roundMask; + if (neverUnderflows) begin : genblk1 + assign roundMask = {doShiftSigDown1, 2'b11}; + end + else begin : genblk1 + wire [outSigWidth:0] roundMask_main; + lowMaskLoHi #( + .inWidth(outExpWidth + 1), + .topBound((outMinNormExp - outSigWidth) - 1), + .bottomBound(outMinNormExp) + ) lowMask_roundMask( + .in(sAdjustedExp[outExpWidth:0] | (propagateNaNPayload ? 1'b1 << outExpWidth : 1'b0)), + .out(roundMask_main) + ); + assign roundMask = {roundMask_main | doShiftSigDown1, 2'b11}; + end + wire [outSigWidth + 2:0] shiftedRoundMask = roundMask >> 1; + wire [outSigWidth + 2:0] roundPosMask = ~shiftedRoundMask & roundMask; + wire roundPosBit = |(adjustedSig[outSigWidth + 2:3] & roundPosMask[outSigWidth + 2:3]) || (|(adjustedSig[2:0] & roundPosMask[2:0]) && !propagateNaNPayload); + wire anyRoundExtra = |(adjustedSig[outSigWidth + 2:3] & shiftedRoundMask[outSigWidth + 2:3]) || (|(adjustedSig[2:0] & shiftedRoundMask[2:0]) && !propagateNaNPayload); + wire anyRound = roundPosBit || anyRoundExtra; + wire roundIncr = ((roundingMode_near_even || roundingMode_near_maxMag) && roundPosBit) || (roundMagUp && anyRound); + wire [outSigWidth + 1:0] roundedSig = (roundIncr ? (((adjustedSig | roundMask) >> 2) + 1) & ~((roundingMode_near_even && roundPosBit) && !anyRoundExtra ? roundMask >> 1 : 0) : ((adjustedSig & ~roundMask) >> 2) | (roundingMode_odd && anyRound ? roundPosMask >> 1 : 0)); + wire signed [adjustedExpWidth:0] sExtAdjustedExp = sAdjustedExp; + wire signed [adjustedExpWidth:0] sRoundedExp = sExtAdjustedExp + (roundedSig >> outSigWidth); + assign common_expOut = sRoundedExp; + assign common_fractOut = (doShiftSigDown1 ? roundedSig >> 1 : roundedSig); + assign common_overflow = (neverOverflows ? 0 : (sRoundedExp >>> (outExpWidth - 1)) >= 3); + assign common_totalUnderflow = (neverUnderflows ? 0 : sRoundedExp < outMinNonzeroExp); + wire unboundedRange_roundPosBit = (doShiftSigDown1 ? adjustedSig[2] : adjustedSig[1]); + wire unboundedRange_anyRound = (doShiftSigDown1 && adjustedSig[2]) || |adjustedSig[1:0]; + wire unboundedRange_roundIncr = ((roundingMode_near_even || roundingMode_near_maxMag) && unboundedRange_roundPosBit) || (roundMagUp && unboundedRange_anyRound); + wire roundCarry = (doShiftSigDown1 ? roundedSig[outSigWidth + 1] : roundedSig[outSigWidth]); + assign common_underflow = (neverUnderflows ? 0 : common_totalUnderflow || (((anyRound && ((sAdjustedExp >>> outExpWidth) <= 0)) && (doShiftSigDown1 ? roundMask[3] : roundMask[2])) && !((((((control & 1'b1) != 0) && !(doShiftSigDown1 ? roundMask[4] : roundMask[3])) && roundCarry) && roundPosBit) && unboundedRange_roundIncr))); + assign common_inexact = common_totalUnderflow || anyRound; + end + endgenerate + wire notNaN_isSpecialInfOut = infiniteExc || in_isInf; + wire commonCase = (!isNaNOut && !notNaN_isSpecialInfOut) && !in_isZero; + wire overflow = commonCase && common_overflow; + wire underflow = commonCase && common_underflow; + wire inexact = overflow || (commonCase && common_inexact); + wire overflow_roundMagUp = (roundingMode_near_even || roundingMode_near_maxMag) || roundMagUp; + wire pegMinNonzeroMagOut = (commonCase && common_totalUnderflow) && (roundMagUp || roundingMode_odd); + wire pegMaxFiniteMagOut = overflow && !overflow_roundMagUp; + wire notNaN_isInfOut = notNaN_isSpecialInfOut || (overflow && overflow_roundMagUp); + wire signOut = (isNaNOut ? 1'b0 : in_sign); + wire [outExpWidth:0] expOut = (((((((common_expOut & ~(in_isZero || common_totalUnderflow ? 7 << (outExpWidth - 2) : 0)) & ~(pegMinNonzeroMagOut ? ~outMinNonzeroExp : 0)) & ~(pegMaxFiniteMagOut ? 1 << (outExpWidth - 1) : 0)) & ~(notNaN_isInfOut ? 1 << (outExpWidth - 2) : 0)) | (pegMinNonzeroMagOut ? outMinNonzeroExp : 0)) | (pegMaxFiniteMagOut ? outMaxFiniteExp : 0)) | (notNaN_isInfOut ? outInfExp : 0)) | (isNaNOut ? outNaNExp : 0); + wire [outSigWidth - 2:0] fractOut = (((isNaNOut ? {1'b1, {outSigWidth - 2 {1'b0}}} : 0) | (!in_isZero && !common_totalUnderflow ? common_fractOut & {1'b1, {outSigWidth - 2 {1'b0}}} : 0)) | ((!isNaNOut && !in_isZero) && !common_totalUnderflow ? common_fractOut & ~{1'b1, {outSigWidth - 2 {1'b0}}} : 0)) | {outSigWidth - 1 {pegMaxFiniteMagOut}}; + assign out = {signOut, expOut, fractOut}; + assign exceptionFlags = {invalidExc, infiniteExc, overflow, underflow, inexact}; +endmodule +module roundRawFNtoRecFN_mixed ( + control, + invalidExc, + infiniteExc, + in_isNaN, + in_isInf, + in_isZero, + in_sign, + in_sExp, + in_sig, + roundingMode, + fullOut, + fullExceptionFlags, + midOut, + midExceptionFlags +); + parameter fullExpWidth = 3; + parameter fullSigWidth = 3; + parameter midExpWidth = 3; + parameter midSigWidth = 3; + parameter outExpWidth = 3; + parameter outSigWidth = 3; + input [0:0] control; + input invalidExc; + input infiniteExc; + input in_isNaN; + input in_isInf; + input in_isZero; + input in_sign; + input signed [fullExpWidth + 1:0] in_sExp; + input [fullSigWidth + 2:0] in_sig; + input [2:0] roundingMode; + output wire [outExpWidth + outSigWidth:0] fullOut; + output wire [4:0] fullExceptionFlags; + output wire [outExpWidth + outSigWidth:0] midOut; + output wire [4:0] midExceptionFlags; + generate + if ((midExpWidth > fullExpWidth) || (midSigWidth > fullSigWidth)) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/external/HardFloat/source/HardFloat_rawFN.v:395:5 - roundRawFNtoRecFN_mixed.genblk1\n msg: ", "Intermediate rounding must be smaller than input"); + end + if ((midExpWidth > outExpWidth) || (midSigWidth > outSigWidth)) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/external/HardFloat/source/HardFloat_rawFN.v:398:5 - roundRawFNtoRecFN_mixed.genblk2\n msg: ", "Intermediate rounding must be smaller than output"); + end + endgenerate + roundAnyRawFNToRecFN #( + .inExpWidth(fullExpWidth), + .inSigWidth(fullSigWidth + 2), + .outExpWidth(fullExpWidth), + .outSigWidth(fullSigWidth) + ) round64( + .control(control), + .invalidExc(invalidExc), + .infiniteExc(infiniteExc), + .in_isNaN(in_isNaN), + .in_isInf(in_isInf), + .in_isZero(in_isZero), + .in_sign(in_sign), + .in_sExp(in_sExp), + .in_sig(in_sig), + .roundingMode(roundingMode), + .out(fullOut), + .exceptionFlags(fullExceptionFlags) + ); + wire [midExpWidth + midSigWidth:0] midResult; + roundAnyRawFNToRecFN #( + .inExpWidth(fullExpWidth), + .inSigWidth(fullSigWidth + 2), + .outExpWidth(midExpWidth), + .outSigWidth(midSigWidth) + ) round32( + .control(control), + .invalidExc(invalidExc), + .infiniteExc(infiniteExc), + .in_isNaN(in_isNaN), + .in_isInf(in_isInf), + .in_isZero(in_isZero), + .in_sign(in_sign), + .in_sExp(in_sExp), + .in_sig(in_sig), + .roundingMode(roundingMode), + .out(midResult), + .exceptionFlags(midExceptionFlags) + ); + recFNToRecFN_unsafe #( + .inExpWidth(midExpWidth), + .inSigWidth(midSigWidth), + .outExpWidth(outExpWidth), + .outSigWidth(outSigWidth) + ) recover( + .in(midResult), + .out(midOut) + ); +endmodule +module iNToRawFN ( + signedIn, + in, + isZero, + sign, + sExp, + sig +); + parameter intWidth = 1; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + localparam expWidth = clog2(intWidth) + 1; + input signedIn; + input [intWidth - 1:0] in; + output wire isZero; + output wire sign; + output wire signed [expWidth + 1:0] sExp; + output wire [intWidth:0] sig; + localparam extIntWidth = 1 << (expWidth - 1); + assign sign = signedIn && in[intWidth - 1]; + wire [intWidth - 1:0] absIn = (sign ? -in : in); + wire [extIntWidth - 1:0] extAbsIn = absIn; + wire [expWidth - 2:0] adjustedNormDist; + wire [$clog2(extIntWidth + 1) - 1:0] num_zero_lo; + bsg_counting_leading_zeros #(.width_p(extIntWidth)) clz( + .a_i(extAbsIn), + .num_zero_o(num_zero_lo) + ); + function automatic [((expWidth - 2) >= 0 ? expWidth - 1 : 3 - expWidth) - 1:0] sv2v_cast_EBA66; + input reg [((expWidth - 2) >= 0 ? expWidth - 1 : 3 - expWidth) - 1:0] inp; + sv2v_cast_EBA66 = inp; + endfunction + assign adjustedNormDist = sv2v_cast_EBA66(num_zero_lo); + assign sig = (extAbsIn << adjustedNormDist) >> (extIntWidth - intWidth); + assign isZero = !sig[intWidth - 1]; + assign sExp = {2'b10, ~adjustedNormDist}; +endmodule +module iNToRecFN ( + control, + signedIn, + in, + roundingMode, + out, + exceptionFlags +); + parameter intWidth = 1; + parameter expWidth = 3; + parameter sigWidth = 3; + input [0:0] control; + input signedIn; + input [intWidth - 1:0] in; + input [2:0] roundingMode; + output wire [expWidth + sigWidth:0] out; + output wire [4:0] exceptionFlags; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + localparam intExpWidth = clog2(intWidth) + 1; + wire isZero; + wire sign; + wire signed [intExpWidth + 1:0] sExp; + wire [intWidth:0] sig; + iNToRawFN #(.intWidth(intWidth)) iNToRawFN( + .signedIn(signedIn), + .in(in), + .isZero(isZero), + .sign(sign), + .sExp(sExp), + .sig(sig) + ); + roundAnyRawFNToRecFN #( + .inExpWidth(intExpWidth), + .inSigWidth(intWidth), + .outExpWidth(expWidth), + .outSigWidth(sigWidth), + .options(5) + ) roundRawToOut( + .control(control), + .invalidExc(1'b0), + .infiniteExc(1'b0), + .in_isNaN(1'b0), + .in_isInf(1'b0), + .in_isZero(isZero), + .in_sign(sign), + .in_sExp(sExp), + .in_sig(sig), + .roundingMode(roundingMode), + .out(out), + .exceptionFlags(exceptionFlags) + ); +endmodule +module isSigNaNRecFN ( + in, + isSigNaN +); + parameter expWidth = 3; + parameter sigWidth = 3; + input [expWidth + sigWidth:0] in; + output wire isSigNaN; + wire isNaN = in[(expWidth + sigWidth) - 1:(expWidth + sigWidth) - 3] == 'b111; + assign isSigNaN = isNaN && !in[sigWidth - 2]; +endmodule +module mulAddRecFNToRaw_preMul ( + control, + op, + a, + b, + c, + roundingMode, + mulAddA, + mulAddB, + mulAddC, + intermed_compactState, + intermed_sExp, + intermed_CDom_CAlignDist, + intermed_highAlignedSigC +); + parameter expWidth = 3; + parameter sigWidth = 3; + parameter imulEn = 1; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + input [0:0] control; + input [2:0] op; + input [expWidth + sigWidth:0] a; + input [expWidth + sigWidth:0] b; + input [expWidth + sigWidth:0] c; + input [2:0] roundingMode; + output wire [sigWidth - 1:0] mulAddA; + output wire [sigWidth - 1:0] mulAddB; + output wire [(sigWidth * 2) - 1:0] mulAddC; + output wire [5:0] intermed_compactState; + output wire signed [expWidth + 1:0] intermed_sExp; + output wire [clog2(sigWidth + 1) - 1:0] intermed_CDom_CAlignDist; + output wire [sigWidth + 1:0] intermed_highAlignedSigC; + localparam prodWidth = sigWidth * 2; + localparam sigSumWidth = (sigWidth + prodWidth) + 3; + wire isNaNA; + wire isInfA; + wire isZeroA; + wire signA; + wire signed [expWidth + 1:0] sExpA; + wire [sigWidth:0] sigA; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN_a( + .in(a), + .isNaN(isNaNA), + .isInf(isInfA), + .isZero(isZeroA), + .sign(signA), + .sExp(sExpA), + .sig(sigA) + ); + wire isSigNaNA; + isSigNaNRecFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) isSigNaN_a( + .in(a), + .isSigNaN(isSigNaNA) + ); + wire isNaNB; + wire isInfB; + wire isZeroB; + wire signB; + wire signed [expWidth + 1:0] sExpB; + wire [sigWidth:0] sigB; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN_b( + .in(b), + .isNaN(isNaNB), + .isInf(isInfB), + .isZero(isZeroB), + .sign(signB), + .sExp(sExpB), + .sig(sigB) + ); + wire isSigNaNB; + isSigNaNRecFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) isSigNaN_b( + .in(b), + .isSigNaN(isSigNaNB) + ); + wire isNaNC; + wire isInfC; + wire isZeroC; + wire signC; + wire signed [expWidth + 1:0] sExpC; + wire [sigWidth:0] sigC; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN_c( + .in(c), + .isNaN(isNaNC), + .isInf(isInfC), + .isZero(isZeroC), + .sign(signC), + .sExp(sExpC), + .sig(sigC) + ); + wire isSigNaNC; + isSigNaNRecFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) isSigNaN_c( + .in(c), + .isSigNaN(isSigNaNC) + ); + wire signProd = (signA ^ signB) ^ op[1]; + wire signed [expWidth + 2:0] sExpAlignedProd = (sExpA + sExpB) + ((sigWidth - (1 << expWidth)) + 3); + wire doSubMags = (signProd ^ signC) ^ op[0]; + wire opSignC = signProd ^ doSubMags; + wire roundingMode_min = roundingMode == 3'b010; + wire signed [expWidth + 2:0] sNatCAlignDist = sExpAlignedProd - sExpC; + wire [expWidth + 1:0] posNatCAlignDist = sNatCAlignDist[expWidth + 1:0]; + wire isMinCAlign = (isZeroA || isZeroB) || (sNatCAlignDist < 0); + wire CIsDominant = !isZeroC && (isMinCAlign || (posNatCAlignDist <= sigWidth)); + wire signed [expWidth + 1:0] sExpSum = (CIsDominant ? sExpC : sExpAlignedProd - sigWidth); + wire [clog2(sigSumWidth) - 1:0] CAlignDist = (isMinCAlign ? 0 : (posNatCAlignDist < (sigSumWidth - 1) ? posNatCAlignDist[clog2(sigSumWidth) - 1:0] : sigSumWidth - 1)); + wire signed [sigSumWidth + 2:0] extComplSigC = {(doSubMags ? ~sigC : sigC), {(sigSumWidth - sigWidth) + 2 {doSubMags}}}; + wire [sigSumWidth + 1:0] mainAlignedSigC = extComplSigC >>> CAlignDist; + localparam CGrainAlign = ((sigSumWidth - sigWidth) - 1) & 3; + wire [sigWidth + CGrainAlign:0] grainAlignedSigC = sigC << CGrainAlign; + wire [(sigWidth + CGrainAlign) / 4:0] reduced4SigC; + compressBy4 #(.inWidth((sigWidth + 1) + CGrainAlign)) compressBy4_sigC( + .in(grainAlignedSigC), + .out(reduced4SigC) + ); + localparam CExtraMaskHiBound = (sigSumWidth - 1) / 4; + localparam CExtraMaskLoBound = ((sigSumWidth - sigWidth) - 1) / 4; + wire [(CExtraMaskHiBound - CExtraMaskLoBound) - 1:0] CExtraMask; + lowMaskHiLo #( + .inWidth(clog2(sigSumWidth) - 2), + .topBound(CExtraMaskHiBound), + .bottomBound(CExtraMaskLoBound) + ) lowMask_CExtraMask( + .in(CAlignDist[clog2(sigSumWidth) - 1:2]), + .out(CExtraMask) + ); + wire reduced4CExtra = |(reduced4SigC & CExtraMask); + wire [sigSumWidth - 1:0] alignedSigC = {mainAlignedSigC >> 3, (doSubMags ? &mainAlignedSigC[2:0] && !reduced4CExtra : |mainAlignedSigC[2:0] || reduced4CExtra)}; + wire isNaNAOrB = isNaNA || isNaNB; + wire isNaNAny = isNaNAOrB || isNaNC; + wire isInfAOrB = isInfA || isInfB; + wire invalidProd = (isInfA && isZeroB) || (isZeroA && isInfB); + wire notSigNaN_invalidExc = invalidProd || (((!isNaNAOrB && isInfAOrB) && isInfC) && doSubMags); + wire invalidExc = ((isSigNaNA || isSigNaNB) || isSigNaNC) || notSigNaN_invalidExc; + wire notNaN_addZeros = (isZeroA || isZeroB) && isZeroC; + wire specialCase = ((isNaNAny || isInfAOrB) || isInfC) || notNaN_addZeros; + wire specialNotNaN_signOut = (((isInfAOrB && signProd) || (isInfC && opSignC)) || (((notNaN_addZeros && !roundingMode_min) && signProd) && opSignC)) || ((notNaN_addZeros && roundingMode_min) && (signProd || opSignC)); + wire special_signOut = specialNotNaN_signOut; + generate + if (imulEn) begin : fi1 + assign mulAddA = (op[2] ? a[sigWidth - 1:0] : sigA); + assign mulAddB = (op[2] ? b[sigWidth - 1:0] : sigB); + wire [expWidth - 1:0] aux_part = (a[expWidth - 1:0] * b[sigWidth+:expWidth]) + (a[sigWidth+:expWidth] * b[expWidth - 1:0]); + assign mulAddC = (op[2] ? {{sigWidth - expWidth {1'b0}}, aux_part, {sigWidth {1'b0}}} : alignedSigC[prodWidth:1]); + end + else begin : fi2 + assign mulAddA = sigA; + assign mulAddB = sigB; + assign mulAddC = alignedSigC[prodWidth:1]; + end + endgenerate + assign intermed_compactState = {specialCase, invalidExc || (!specialCase && signProd), isNaNAny || (!specialCase && doSubMags), (isInfAOrB || isInfC) || (!specialCase && CIsDominant), notNaN_addZeros || (!specialCase && alignedSigC[0]), special_signOut}; + assign intermed_sExp = sExpSum; + assign intermed_CDom_CAlignDist = CAlignDist[clog2(sigWidth + 1) - 1:0]; + assign intermed_highAlignedSigC = alignedSigC[sigSumWidth - 1:prodWidth + 1]; +endmodule +module mulAddRecFNToRaw_postMul ( + intermed_compactState, + intermed_sExp, + intermed_CDom_CAlignDist, + intermed_highAlignedSigC, + mulAddResult, + roundingMode, + invalidExc, + out_isNaN, + out_isInf, + out_isZero, + out_sign, + out_sExp, + out_sig +); + parameter expWidth = 3; + parameter sigWidth = 3; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + input [5:0] intermed_compactState; + input signed [expWidth + 1:0] intermed_sExp; + input [clog2(sigWidth + 1) - 1:0] intermed_CDom_CAlignDist; + input [sigWidth + 1:0] intermed_highAlignedSigC; + input [sigWidth * 2:0] mulAddResult; + input [2:0] roundingMode; + output wire invalidExc; + output wire out_isNaN; + output wire out_isInf; + output wire out_isZero; + output wire out_sign; + output wire signed [expWidth + 1:0] out_sExp; + output wire [sigWidth + 2:0] out_sig; + localparam prodWidth = sigWidth * 2; + localparam sigSumWidth = (sigWidth + prodWidth) + 3; + wire specialCase = intermed_compactState[5]; + assign invalidExc = specialCase && intermed_compactState[4]; + assign out_isNaN = specialCase && intermed_compactState[3]; + assign out_isInf = specialCase && intermed_compactState[2]; + wire notNaN_addZeros = specialCase && intermed_compactState[1]; + wire signProd = intermed_compactState[4]; + wire doSubMags = intermed_compactState[3]; + wire CIsDominant = intermed_compactState[2]; + wire bit0AlignedSigC = intermed_compactState[1]; + wire special_signOut = intermed_compactState[0]; + wire opSignC = signProd ^ doSubMags; + wire [sigWidth + 1:0] incHighAlignedSigC = intermed_highAlignedSigC + 1; + wire [sigSumWidth - 1:0] sigSum = {(mulAddResult[prodWidth] ? incHighAlignedSigC : intermed_highAlignedSigC), mulAddResult[prodWidth - 1:0], bit0AlignedSigC}; + wire roundingMode_min = roundingMode == 3'b010; + wire CDom_sign = opSignC; + wire signed [expWidth + 1:0] CDom_sExp = intermed_sExp - doSubMags; + wire [(sigWidth * 2) + 1:0] CDom_absSigSum = (doSubMags ? ~sigSum[sigSumWidth - 1:sigWidth + 1] : {1'b0, intermed_highAlignedSigC[sigWidth + 1:sigWidth], sigSum[sigSumWidth - 3:sigWidth + 2]}); + wire CDom_absSigSumExtra = (doSubMags ? !(&sigSum[sigWidth:1]) : |sigSum[sigWidth + 1:1]); + wire [sigWidth + 4:0] CDom_mainSig = (CDom_absSigSum << intermed_CDom_CAlignDist) >> (sigWidth - 3); + wire [(sigWidth | 3) - 1:0] CDom_grainAlignedLowSig = CDom_absSigSum[sigWidth - 1:0] << (~sigWidth & 3); + wire [sigWidth / 4:0] CDom_reduced4LowSig; + compressBy4 #(.inWidth(sigWidth | 3)) compressBy4_CDom_absSigSum( + .in(CDom_grainAlignedLowSig), + .out(CDom_reduced4LowSig) + ); + wire [(sigWidth / 4) - 1:0] CDom_sigExtraMask; + lowMaskLoHi #( + .inWidth(clog2(sigWidth + 1) - 2), + .topBound(0), + .bottomBound(sigWidth / 4) + ) lowMask_CDom_sigExtraMask( + .in(intermed_CDom_CAlignDist[clog2(sigWidth + 1) - 1:2]), + .out(CDom_sigExtraMask) + ); + wire CDom_reduced4SigExtra = |(CDom_reduced4LowSig & CDom_sigExtraMask); + wire [sigWidth + 2:0] CDom_sig = {CDom_mainSig >> 3, (|CDom_mainSig[2:0] || CDom_reduced4SigExtra) || CDom_absSigSumExtra}; + wire notCDom_signSigSum = sigSum[prodWidth + 3]; + wire [prodWidth + 2:0] notCDom_absSigSum = (notCDom_signSigSum ? ~sigSum[prodWidth + 2:0] : sigSum[prodWidth + 2:0] + doSubMags); + wire [(prodWidth + 2) / 2:0] notCDom_reduced2AbsSigSum; + compressBy2 #(.inWidth(prodWidth + 3)) compressBy2_notCDom_absSigSum( + .in(notCDom_absSigSum), + .out(notCDom_reduced2AbsSigSum) + ); + wire [clog2(prodWidth + 4) - 2:0] notCDom_normDistReduced2; + bsg_counting_leading_zeros #(.width_p(((prodWidth + 2) / 2) + 1)) clz( + .a_i(notCDom_reduced2AbsSigSum), + .num_zero_o(notCDom_normDistReduced2) + ); + wire [clog2(prodWidth + 4) - 1:0] notCDom_nearNormDist = notCDom_normDistReduced2 << 1; + wire signed [expWidth + 1:0] notCDom_sExp = intermed_sExp - notCDom_nearNormDist; + wire [sigWidth + 4:0] notCDom_mainSig = ({1'b0, notCDom_absSigSum} << notCDom_nearNormDist) >> (sigWidth - 1); + wire [(((sigWidth / 2) + 1) | 1) - 1:0] CDom_grainAlignedLowReduced2Sig = notCDom_reduced2AbsSigSum[sigWidth / 2:0] << ((sigWidth / 2) & 1); + wire [(sigWidth + 2) / 4:0] notCDom_reduced4AbsSigSum; + compressBy2 #(.inWidth(((sigWidth / 2) + 1) | 1)) compressBy2_notCDom_reduced2AbsSigSum( + .in(CDom_grainAlignedLowReduced2Sig), + .out(notCDom_reduced4AbsSigSum) + ); + wire [((sigWidth + 2) / 4) - 1:0] notCDom_sigExtraMask; + lowMaskLoHi #( + .inWidth(clog2(prodWidth + 4) - 2), + .topBound(0), + .bottomBound((sigWidth + 2) / 4) + ) lowMask_notCDom_sigExtraMask( + .in(notCDom_normDistReduced2[clog2(prodWidth + 4) - 2:1]), + .out(notCDom_sigExtraMask) + ); + wire notCDom_reduced4SigExtra = |(notCDom_reduced4AbsSigSum & notCDom_sigExtraMask); + wire [sigWidth + 2:0] notCDom_sig = {notCDom_mainSig >> 3, |notCDom_mainSig[2:0] || notCDom_reduced4SigExtra}; + wire notCDom_completeCancellation = notCDom_sig[sigWidth + 2:sigWidth + 1] == 0; + wire notCDom_sign = (notCDom_completeCancellation ? roundingMode_min : signProd ^ notCDom_signSigSum); + assign out_isZero = notNaN_addZeros || (!CIsDominant && notCDom_completeCancellation); + assign out_sign = ((specialCase && special_signOut) || ((!specialCase && CIsDominant) && CDom_sign)) || ((!specialCase && !CIsDominant) && notCDom_sign); + assign out_sExp = (CIsDominant ? CDom_sExp : notCDom_sExp); + assign out_sig = (CIsDominant ? CDom_sig : notCDom_sig); +endmodule +module mulAddRecFNToRaw ( + clock, + control, + op, + a, + b, + c, + roundingMode, + invalidExc, + out_isNaN, + out_isInf, + out_isZero, + out_sign, + out_sExp, + out_sig, + out_imul +); + parameter expWidth = 3; + parameter sigWidth = 3; + parameter pipelineStages = 0; + parameter imulEn = 1'b1; + input clock; + input [0:0] control; + input [2:0] op; + input [expWidth + sigWidth:0] a; + input [expWidth + sigWidth:0] b; + input [expWidth + sigWidth:0] c; + input [2:0] roundingMode; + output wire invalidExc; + output wire out_isNaN; + output wire out_isInf; + output wire out_isZero; + output wire out_sign; + output wire signed [expWidth + 1:0] out_sExp; + output wire [sigWidth + 2:0] out_sig; + output wire [(expWidth + sigWidth) - 1:0] out_imul; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + wire [sigWidth - 1:0] mulAddA; + wire [sigWidth - 1:0] mulAddB; + wire [(sigWidth * 2) - 1:0] mulAddC; + wire [sigWidth * 2:0] mulAddResult; + wire [5:0] intermed_compactState; + wire [5:0] intermed_compactState_Z; + wire signed [expWidth + 1:0] intermed_sExp; + wire signed [expWidth + 1:0] intermed_sExp_Z; + wire [clog2(sigWidth + 1) - 1:0] intermed_CDom_CAlignDist; + wire [clog2(sigWidth + 1) - 1:0] intermed_CDom_CAlignDist_Z; + wire [sigWidth + 1:0] intermed_highAlignedSigC; + wire [sigWidth + 1:0] intermed_highAlignedSigC_Z; + wire [2:0] roundingMode_Z; + mulAddRecFNToRaw_preMul #( + .expWidth(expWidth), + .sigWidth(sigWidth), + .imulEn(imulEn) + ) mulAddToRaw_preMul( + .control(control), + .op(op), + .a(a), + .b(b), + .c(c), + .roundingMode(roundingMode), + .mulAddA(mulAddA), + .mulAddB(mulAddB), + .mulAddC(mulAddC), + .intermed_compactState(intermed_compactState), + .intermed_sExp(intermed_sExp), + .intermed_CDom_CAlignDist(intermed_CDom_CAlignDist), + .intermed_highAlignedSigC(intermed_highAlignedSigC) + ); + bsg_mul_add_unsigned #( + .width_a_p(sigWidth), + .width_b_p(sigWidth), + .width_c_p(2 * sigWidth), + .width_o_p((2 * sigWidth) + 1), + .pipeline_p(pipelineStages) + ) mulAdd( + .clk_i(clock), + .a_i(mulAddA), + .b_i(mulAddB), + .c_i(mulAddC), + .o(mulAddResult) + ); + bsg_dff_chain #( + .width_p((((6 + ((expWidth + 1) >= 0 ? expWidth + 2 : 1 - (expWidth + 1))) + clog2(sigWidth + 1)) + ((sigWidth + 1) >= 0 ? sigWidth + 2 : 1 - (sigWidth + 1))) + 3), + .num_stages_p(pipelineStages) + ) shuntMulAdd( + .clk_i(clock), + .data_i({intermed_compactState, intermed_sExp, intermed_CDom_CAlignDist, intermed_highAlignedSigC, roundingMode}), + .data_o({intermed_compactState_Z, intermed_sExp_Z, intermed_CDom_CAlignDist_Z, intermed_highAlignedSigC_Z, roundingMode_Z}) + ); + mulAddRecFNToRaw_postMul #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) mulAddToRaw_postMul( + .intermed_compactState(intermed_compactState_Z), + .intermed_sExp(intermed_sExp_Z), + .intermed_CDom_CAlignDist(intermed_CDom_CAlignDist_Z), + .intermed_highAlignedSigC(intermed_highAlignedSigC_Z), + .mulAddResult(mulAddResult), + .roundingMode(roundingMode_Z), + .invalidExc(invalidExc), + .out_isNaN(out_isNaN), + .out_isInf(out_isInf), + .out_isZero(out_isZero), + .out_sign(out_sign), + .out_sExp(out_sExp), + .out_sig(out_sig) + ); + assign out_imul = mulAddResult[(expWidth + sigWidth) - 1:0]; +endmodule +module recFNToFN ( + in, + out +); + parameter expWidth = 3; + parameter sigWidth = 3; + input [expWidth + sigWidth:0] in; + output wire [(expWidth + sigWidth) - 1:0] out; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + localparam [expWidth:0] minNormExp = (1 << (expWidth - 1)) + 2; + localparam normDistWidth = clog2(sigWidth); + wire isNaN; + wire isInf; + wire isZero; + wire sign; + wire signed [expWidth + 1:0] sExp; + wire [sigWidth:0] sig; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN( + .in(in), + .isNaN(isNaN), + .isInf(isInf), + .isZero(isZero), + .sign(sign), + .sExp(sExp), + .sig(sig) + ); + wire isSubnormal = (((sExp >> (expWidth - 2)) == 'b10) && (sExp[expWidth - 3:0] <= 1)) || ((sExp >> (expWidth - 1)) == 'b0); + wire [normDistWidth - 1:0] denormShiftDist = (minNormExp - 1) - sExp; + wire [expWidth - 1:0] expOut = (isSubnormal ? 0 : (sExp - minNormExp) + 1) | (isNaN || isInf ? {expWidth {1'b1}} : 0); + wire [sigWidth - 2:0] fractOut = (isSubnormal ? (sig >> 1) >> denormShiftDist : (isInf ? 0 : sig)); + assign out = {sign, expOut, fractOut}; +endmodule +module recFNToIN ( + control, + in, + roundingMode, + signedOut, + out, + intExceptionFlags +); + parameter expWidth = 3; + parameter sigWidth = 3; + parameter intWidth = 1; + input [0:0] control; + input [expWidth + sigWidth:0] in; + input [2:0] roundingMode; + input signedOut; + output wire [intWidth - 1:0] out; + output wire [2:0] intExceptionFlags; + function integer clog2; + input integer fa; + begin + fa = fa - 1; + for (clog2 = 0; fa > 0; clog2 = clog2 + 1) + fa = fa >> 1; + end + endfunction + localparam intExpWidth = clog2(intWidth); + localparam boundedIntExpWidth = (expWidth <= intExpWidth ? expWidth - 1 : intExpWidth); + wire isNaN; + wire isInf; + wire isZero; + wire sign; + wire signed [expWidth + 1:0] sExp; + wire [sigWidth:0] sig; + recFNToRawFN #( + .expWidth(expWidth), + .sigWidth(sigWidth) + ) recFNToRawFN( + .in(in), + .isNaN(isNaN), + .isInf(isInf), + .isZero(isZero), + .sign(sign), + .sExp(sExp), + .sig(sig) + ); + wire magGeOne = sExp[expWidth]; + wire [expWidth - 1:0] posExp = sExp[expWidth - 1:0]; + wire magJustBelowOne = !magGeOne && &posExp; + wire roundingMode_near_even = roundingMode == 3'b000; + wire roundingMode_minMag = roundingMode == 3'b001; + wire roundingMode_min = roundingMode == 3'b010; + wire roundingMode_max = roundingMode == 3'b011; + wire roundingMode_near_maxMag = roundingMode == 3'b100; + wire roundingMode_odd = roundingMode == 3'b110; + wire [(intWidth + sigWidth) - 1:0] shiftedSig = {magGeOne, sig[sigWidth - 2:0]} << (magGeOne ? sExp[boundedIntExpWidth - 1:0] : 0); + wire [intWidth + 1:0] alignedSig = {shiftedSig >> (sigWidth - 2), |shiftedSig[sigWidth - 3:0]}; + wire [intWidth - 1:0] unroundedInt = alignedSig >> 2; + wire common_inexact = (magGeOne ? |alignedSig[1:0] : !isZero); + wire roundIncr_near_even = (magGeOne && (&alignedSig[2:1] || &alignedSig[1:0])) || (magJustBelowOne && |alignedSig[1:0]); + wire roundIncr_near_maxMag = (magGeOne && alignedSig[1]) || magJustBelowOne; + wire roundIncr = (((roundingMode_near_even && roundIncr_near_even) || (roundingMode_near_maxMag && roundIncr_near_maxMag)) || ((roundingMode_min || roundingMode_odd) && (sign && common_inexact))) || (roundingMode_max && (!sign && common_inexact)); + wire [intWidth - 1:0] complUnroundedInt = (sign ? ~unroundedInt : unroundedInt); + wire [intWidth - 1:0] roundedInt = (roundIncr ^ sign ? complUnroundedInt + 1 : complUnroundedInt) | (roundingMode_odd && common_inexact); + wire magGeOne_atOverflowEdge = posExp == (intWidth - 1); + wire roundCarryBut2 = &unroundedInt[intWidth - 3:0] && roundIncr; + wire common_overflow = (magGeOne ? (posExp >= intWidth) || (signedOut ? (sign ? magGeOne_atOverflowEdge && (|unroundedInt[intWidth - 2:0] || roundIncr) : magGeOne_atOverflowEdge || ((posExp == (intWidth - 2)) && roundCarryBut2)) : sign || ((magGeOne_atOverflowEdge && unroundedInt[intWidth - 2]) && roundCarryBut2)) : (!signedOut && sign) && roundIncr); + wire invalidExc = isNaN || isInf; + wire overflow = !invalidExc && common_overflow; + wire inexact = (!invalidExc && !common_overflow) && common_inexact; + wire [intWidth - 1:0] excOut; + iNFromException #(.width(intWidth)) iNFromException( + .signedOut(signedOut), + .isNaN(isNaN), + .sign(sign), + .out(excOut) + ); + assign out = (invalidExc || common_overflow ? excOut : roundedInt); + assign intExceptionFlags = {invalidExc, overflow, inexact}; +endmodule +module recFNToRecFN_unsafe ( + in, + out +); + parameter inExpWidth = 3; + parameter inSigWidth = 3; + parameter outExpWidth = 3; + parameter outSigWidth = 3; + input [inExpWidth + inSigWidth:0] in; + output wire [outExpWidth + outSigWidth:0] out; + wire sign; + wire [inExpWidth:0] exp; + wire [inSigWidth - 2:0] fract; + assign {sign, exp, fract} = in; + wire isSpecial = (exp >> (inExpWidth - 1)) == 'b11; + wire isNaN = isSpecial && exp[inExpWidth - 2]; + wire isInf = isSpecial && !exp[inExpWidth - 2]; + wire isZero = (exp >> (inExpWidth - 2)) == 'b0; + localparam biasAdj = (1 << outExpWidth) - (1 << inExpWidth); + localparam sigAdj = outSigWidth - inSigWidth; + wire [outExpWidth:0] nanExp = 3'b111 << (outExpWidth - 2); + wire [outExpWidth:0] infExp = 2'b11 << (outExpWidth - 1); + wire [outExpWidth:0] zeroExp = {outExpWidth + 1 {1'b0}}; + wire [outSigWidth - 2:0] inFract = in[0+:inSigWidth - 1]; + wire [outSigWidth - 2:0] inFractAdjusted; + generate + if (outSigWidth > inSigWidth) begin : genblk1 + assign inFractAdjusted = (isNaN ? {1'b1, {outSigWidth - 2 {1'b0}}} : (isInf ? {outSigWidth - 1 {1'b0}} : (isZero ? {outSigWidth - 1 {1'b0}} : inFract << sigAdj))); + end + else begin : genblk1 + assign inFractAdjusted = (isNaN ? {1'b1, {outSigWidth - 2 {1'b0}}} : (isInf ? {outSigWidth - 1 {1'b0}} : (isZero ? {outSigWidth - 1 {1'b0}} : inFract[inSigWidth - 2:inSigWidth - outSigWidth]))); + end + endgenerate + wire [outExpWidth:0] inExp = in[inSigWidth - 1+:inExpWidth + 1]; + wire [outExpWidth:0] inExpAdjusted = (isNaN ? nanExp : (isInf ? infExp : (isZero ? zeroExp : inExp + biasAdj))); + wire inSign = in[inSigWidth + inExpWidth]; + wire inSignAdjusted = (isNaN ? 1'b0 : inSign); + assign out = {inSignAdjusted, inExpAdjusted, inFractAdjusted}; +endmodule +module iNFromException ( + signedOut, + isNaN, + sign, + out +); + parameter width = 1; + input signedOut; + input isNaN; + input sign; + output wire [width - 1:0] out; + wire maxInt = isNaN || !sign; + assign out = {signedOut ^ maxInt, {width - 1 {maxInt}}}; +endmodule +module bsg_bus_pack ( + data_i, + sel_i, + size_i, + data_o +); + parameter in_width_p = 0; + parameter out_width_p = in_width_p; + parameter unit_width_p = 8; + localparam sel_width_lp = (((in_width_p / unit_width_p) == 1) || ((in_width_p / unit_width_p) == 0) ? 1 : $clog2(in_width_p / unit_width_p)); + localparam size_width_lp = $clog2({1'b0, sel_width_lp} + 1); + input [in_width_p - 1:0] data_i; + input [sel_width_lp - 1:0] sel_i; + input [size_width_lp - 1:0] size_i; + output wire [out_width_p - 1:0] data_o; + localparam lg_unit_width_lp = ((unit_width_p == 1) || (unit_width_p == 0) ? 1 : $clog2(unit_width_p)); + wire [in_width_p - 1:0] data_rot_lo; + bsg_rotate_right #(.width_p(in_width_p)) rot( + .data_i(data_i), + .rot_i({sel_i, {lg_unit_width_lp {1'b0}}}), + .o(data_rot_lo) + ); + localparam num_size_lp = 2 ** size_width_lp; + wire [(num_size_lp * in_width_p) - 1:0] data_repl_lo; + genvar _gv_i_39; + generate + for (_gv_i_39 = 0; _gv_i_39 <= sel_width_lp; _gv_i_39 = _gv_i_39 + 1) begin : repl + localparam i = _gv_i_39; + localparam slice_width_lp = unit_width_p * (2 ** i); + assign data_repl_lo[i * in_width_p+:in_width_p] = {in_width_p / slice_width_lp {data_rot_lo[0+:slice_width_lp]}}; + end + endgenerate + wire [in_width_p - 1:0] data_lo; + bsg_mux #( + .width_p(in_width_p), + .els_p(num_size_lp) + ) repl_mux( + .data_i(data_repl_lo), + .sel_i(size_i), + .data_o(data_lo) + ); + generate + if (out_width_p > in_width_p) begin : genblk2 + assign data_o = {out_width_p / in_width_p {data_lo}}; + end + else begin : genblk2 + assign data_o = data_lo[0+:out_width_p]; + end + if (((1 << $clog2(in_width_p)) != in_width_p) || ((1 << $clog2(out_width_p)) != out_width_p)) begin : genblk3 + initial begin + $display("Fatal [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_common/src/v/bsg_bus_pack.sv:55:5 - bsg_bus_pack.genblk3\n msg: ", "Bus width must be a power of 2"); + $finish(1); + end + end + if (unit_width_p < 2) begin : genblk4 + initial begin + $display("Fatal [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_common/src/v/bsg_bus_pack.sv:58:5 - bsg_bus_pack.genblk4\n msg: ", "Bit width replication unsupported"); + $finish(1); + end + end + endgenerate +endmodule +module bp_mmu ( + clk_i, + reset_i, + cfg_bus_i, + flush_i, + fence_i, + priv_mode_i, + trans_en_i, + sum_i, + mxr_i, + uncached_mode_i, + nonspec_mode_i, + hio_mask_i, + w_v_i, + w_vtag_i, + w_entry_i, + r_v_i, + r_instr_i, + r_load_i, + r_store_i, + r_eaddr_i, + r_size_i, + r_cbo_i, + r_ptw_i, + r_v_o, + r_ptag_o, + r_instr_miss_o, + r_load_miss_o, + r_store_miss_o, + r_uncached_o, + r_nonidem_o, + r_dram_o, + r_instr_access_fault_o, + r_load_access_fault_o, + r_store_access_fault_o, + r_instr_misaligned_o, + r_load_misaligned_o, + r_store_misaligned_o, + r_instr_page_fault_o, + r_load_page_fault_o, + r_store_page_fault_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter tlb_els_4k_p = 0; + parameter tlb_els_2m_p = 0; + parameter tlb_els_1g_p = 0; + parameter latch_last_read_p = 0; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam entry_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input flush_i; + input fence_i; + input [1:0] priv_mode_i; + input trans_en_i; + input sum_i; + input mxr_i; + input uncached_mode_i; + input nonspec_mode_i; + input [hio_width_p - 1:0] hio_mask_i; + input w_v_i; + input [vtag_width_p - 1:0] w_vtag_i; + input [entry_width_lp - 1:0] w_entry_i; + input r_v_i; + input r_instr_i; + input r_load_i; + input r_store_i; + input [63:0] r_eaddr_i; + input [1:0] r_size_i; + input r_cbo_i; + input r_ptw_i; + output wire r_v_o; + output wire [ptag_width_p - 1:0] r_ptag_o; + output wire r_instr_miss_o; + output wire r_load_miss_o; + output wire r_store_miss_o; + output wire r_uncached_o; + output wire r_nonidem_o; + output wire r_dram_o; + output wire r_instr_access_fault_o; + output wire r_load_access_fault_o; + output wire r_store_access_fault_o; + output wire r_instr_misaligned_o; + output wire r_load_misaligned_o; + output wire r_store_misaligned_o; + output wire r_instr_page_fault_o; + output wire r_load_page_fault_o; + output wire r_store_page_fault_o; + reg r_misaligned; + always @(*) begin + if (_sv2v_0) + ; + case ({r_ptw_i, r_cbo_i, r_size_i}) + 4'b0001: r_misaligned = |r_eaddr_i[0+:1]; + 4'b0010: r_misaligned = |r_eaddr_i[0+:2]; + 4'b0011: r_misaligned = |r_eaddr_i[0+:3]; + default: r_misaligned = 1'sb0; + endcase + end + wire r_instr_r; + wire r_load_r; + wire r_store_r; + wire r_cbo_r; + wire r_ptw_r; + wire r_misaligned_r; + wire trans_r; + wire [51:0] r_etag_r; + wire [51:0] r_etag_li = r_eaddr_i[63-:etag_width_p]; + wire trans_li = trans_en_i & ~r_ptw_i; + bsg_dff_reset_en #(.width_p(59)) read_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(r_v_i), + .data_i({trans_li, r_misaligned, r_instr_i, r_load_i, r_store_i, r_cbo_i, r_ptw_i, r_etag_li}), + .data_o({trans_r, r_misaligned_r, r_instr_r, r_load_r, r_store_r, r_cbo_r, r_ptw_r, r_etag_r}) + ); + wire r_v_r; + bsg_dff_reset_set_clear #(.width_p(1)) r_v_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(r_v_i), + .clear_i(flush_i || !latch_last_read_p), + .data_o(r_v_r) + ); + wire tlb_r_v_lo; + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] tlb_r_entry_lo; + wire tlb_r_v_li = r_v_i | flush_i; + wire tlb_w_v_li = w_v_i; + wire tlb_v_li = tlb_r_v_li | tlb_w_v_li; + function automatic [vtag_width_p - 1:0] sv2v_cast_2960B; + input reg [vtag_width_p - 1:0] inp; + sv2v_cast_2960B = inp; + endfunction + wire [vtag_width_p - 1:0] tlb_vtag_li = (w_v_i ? w_vtag_i : sv2v_cast_2960B(r_etag_li)); + bp_tlb #( + .bp_params_p(bp_params_p), + .els_4k_p(tlb_els_4k_p), + .els_2m_p(tlb_els_2m_p), + .els_1g_p(tlb_els_1g_p) + ) tlb( + .clk_i(clk_i), + .reset_i(reset_i), + .fence_i(fence_i), + .v_i(tlb_v_li), + .w_i(tlb_w_v_li), + .vtag_i(tlb_vtag_li), + .entry_i(w_entry_i), + .v_o(tlb_r_v_lo), + .entry_o(tlb_r_entry_lo) + ); + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] tlb_r_entry_r; + wire tlb_r_v_r; + bsg_dff_sync_read #( + .width_p(1 + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))), + .bypass_p(1) + ) entry_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .v_n_i(tlb_r_v_li), + .data_i({tlb_r_v_lo, tlb_r_entry_lo}), + .data_o({tlb_r_v_r, tlb_r_entry_r}) + ); + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] passthrough_entry; + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] tlb_entry_lo; + function automatic [(paddr_width_p - bp_common_pkg_page_offset_width_gp) - 1:0] sv2v_cast_C3E83; + input reg [(paddr_width_p - bp_common_pkg_page_offset_width_gp) - 1:0] inp; + sv2v_cast_C3E83 = inp; + endfunction + assign passthrough_entry = {sv2v_cast_C3E83(r_etag_r), 8'b00000000}; + assign tlb_entry_lo = (trans_r ? tlb_r_entry_r : passthrough_entry); + wire tlb_v_lo = (trans_r ? tlb_r_v_r : r_v_r); + wire ptag_v_lo = tlb_v_lo; + wire [ptag_width_p - 1:0] ptag_lo = tlb_entry_lo[(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7-:((paddr_width_p - 5) >= 8 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 0 : 9 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))]; + wire ptag_uncached_lo; + wire ptag_nonidem_lo; + wire ptag_dram_lo; + bp_pma #(.bp_params_p(bp_params_p)) pma( + .clk_i(clk_i), + .reset_i(reset_i), + .ptag_i(ptag_lo), + .uncached_mode_i(uncached_mode_i), + .nonspec_mode_i(nonspec_mode_i), + .uncached_o(ptag_uncached_lo), + .nonidem_o(ptag_nonidem_lo), + .dram_o(ptag_dram_lo) + ); + wire eaddr_fault_v = ~&r_etag_r[51:vtag_width_p - 1] & |r_etag_r[51:vtag_width_p - 1]; + wire cached_fault_v = (r_cbo_r & ptag_v_lo) & ptag_uncached_lo; + wire hio_fault_v = ((r_instr_r & ptag_v_lo) & (ptag_lo[ptag_width_p - 1-:hio_width_p] != {hio_width_p * 1 {1'sb0}})) || ((ptag_v_lo & ptag_lo[ptag_width_p - 1-:hio_width_p]) & ~hio_mask_i); + wire instr_access_fault_v = r_instr_r & hio_fault_v; + wire load_access_fault_v = r_load_r & cached_fault_v; + wire store_access_fault_v = r_store_r & cached_fault_v; + wire any_access_fault_v = |{instr_access_fault_v, load_access_fault_v, store_access_fault_v}; + wire instr_exe_page_fault_v = tlb_v_lo & ~tlb_entry_lo[2]; + wire instr_priv_page_fault_v = tlb_v_lo & (((priv_mode_i == 2'b01) & tlb_entry_lo[3]) | ((priv_mode_i == 1'b0) & ~tlb_entry_lo[3])); + wire data_priv_page_fault = tlb_v_lo & ((((priv_mode_i == 2'b01) & ~sum_i) & tlb_entry_lo[3]) | ((priv_mode_i == 1'b0) & ~tlb_entry_lo[3])); + wire data_read_page_fault = tlb_v_lo & ~(tlb_entry_lo[0] | (tlb_entry_lo[2] & mxr_i)); + wire data_write_page_fault = tlb_v_lo & ~(tlb_entry_lo[1] & tlb_entry_lo[4]); + wire instr_page_fault_v = (trans_r & r_instr_r) & ((instr_priv_page_fault_v | instr_exe_page_fault_v) | eaddr_fault_v); + wire load_page_fault_v = (trans_r & r_load_r) & ((data_priv_page_fault | data_read_page_fault) | eaddr_fault_v); + wire store_page_fault_v = (trans_r & r_store_r) & ((data_priv_page_fault | data_write_page_fault) | eaddr_fault_v); + wire any_page_fault_v = |{instr_page_fault_v, load_page_fault_v, store_page_fault_v}; + wire any_fault_v = any_access_fault_v | any_page_fault_v; + assign r_v_o = (r_v_r & tlb_v_lo) & ~any_fault_v; + assign r_instr_miss_o = ((r_v_r & ~tlb_v_lo) & ~any_fault_v) & r_instr_r; + assign r_load_miss_o = ((r_v_r & ~tlb_v_lo) & ~any_fault_v) & r_load_r; + assign r_store_miss_o = ((r_v_r & ~tlb_v_lo) & ~any_fault_v) & r_store_r; + assign r_instr_misaligned_o = (r_v_r & r_misaligned_r) & r_instr_r; + assign r_load_misaligned_o = (r_v_r & r_misaligned_r) & r_load_r; + assign r_store_misaligned_o = (r_v_r & r_misaligned_r) & r_store_r; + assign r_instr_access_fault_o = r_v_r & instr_access_fault_v; + assign r_load_access_fault_o = r_v_r & load_access_fault_v; + assign r_store_access_fault_o = r_v_r & store_access_fault_v; + assign r_instr_page_fault_o = r_v_r & instr_page_fault_v; + assign r_load_page_fault_o = r_v_r & load_page_fault_v; + assign r_store_page_fault_o = r_v_r & store_page_fault_v; + assign r_ptag_o = ptag_lo; + assign r_uncached_o = ptag_uncached_lo; + assign r_nonidem_o = ptag_nonidem_lo; + assign r_dram_o = ptag_dram_lo; + initial _sv2v_0 = 0; +endmodule +module bp_pma ( + clk_i, + reset_i, + ptag_i, + uncached_mode_i, + nonspec_mode_i, + uncached_o, + nonidem_o, + dram_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input clk_i; + input reset_i; + input [ptag_width_p - 1:0] ptag_i; + input uncached_mode_i; + input nonspec_mode_i; + output wire uncached_o; + output wire nonidem_o; + output wire dram_o; + localparam bp_common_pkg_dram_base_addr_gp = 40'h0080000000; + function automatic [ptag_width_p - 1:0] sv2v_cast_6898D; + input reg [ptag_width_p - 1:0] inp; + sv2v_cast_6898D = inp; + endfunction + wire is_local_addr = ptag_i < sv2v_cast_6898D(bp_common_pkg_dram_base_addr_gp >> bp_common_pkg_page_offset_width_gp); + wire is_io_addr = ptag_i[ptag_width_p - 1:dtag_width_p] != {((ptag_width_p - 1) >= dtag_width_p ? ((ptag_width_p - 1) - dtag_width_p) + 1 : (dtag_width_p - (ptag_width_p - 1)) + 1) * 1 {1'sb0}}; + wire is_uc_addr = ptag_i[ptag_width_p - 1:caddr_width_p - bp_common_pkg_page_offset_width_gp] != {((ptag_width_p - 1) >= (caddr_width_p - bp_common_pkg_page_offset_width_gp) ? ((ptag_width_p - 1) - (caddr_width_p - bp_common_pkg_page_offset_width_gp)) + 1 : ((caddr_width_p - bp_common_pkg_page_offset_width_gp) - (ptag_width_p - 1)) + 1) * 1 {1'sb0}}; + assign uncached_o = ((is_uc_addr | is_io_addr) | is_local_addr) | uncached_mode_i; + assign nonidem_o = (((is_uc_addr | is_io_addr) | is_local_addr) | uncached_mode_i) | nonspec_mode_i; + assign dram_o = (~is_local_addr & ~is_io_addr) & ~is_uc_addr; +endmodule +module bp_tlb ( + clk_i, + reset_i, + fence_i, + v_i, + w_i, + vtag_i, + entry_i, + v_o, + entry_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter els_1g_p = 0; + parameter els_2m_p = 0; + parameter els_4k_p = 0; + localparam bp_common_pkg_sv39_pte_width_gp = 64; + parameter pte_width_p = bp_common_pkg_sv39_pte_width_gp; + localparam bp_common_pkg_sv39_levels_gp = 3; + parameter page_table_depth_p = bp_common_pkg_sv39_levels_gp; + localparam bp_common_pkg_sv39_pte_size_in_bytes_gp = 8; + parameter pte_size_in_bytes_p = bp_common_pkg_sv39_pte_size_in_bytes_gp; + localparam bp_common_pkg_sv39_page_idx_width_gp = 9; + parameter page_idx_width_p = bp_common_pkg_sv39_page_idx_width_gp; + localparam entry_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + input clk_i; + input reset_i; + input fence_i; + input v_i; + input w_i; + input [vtag_width_p - 1:0] vtag_i; + input [entry_width_lp - 1:0] entry_i; + output wire v_o; + output wire [entry_width_lp - 1:0] entry_o; + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] entry_cast_i; + assign entry_cast_i = entry_i; + localparam els_1g_lp = (els_1g_p > 1 ? els_1g_p : 1); + localparam els_2m_lp = (els_2m_p > 1 ? els_2m_p : 1); + localparam entry_size_lp = ((entry_width_lp == 1) || (entry_width_lp == 0) ? 1 : $clog2(entry_width_lp)); + localparam r_entry_low_bits_lp = 9; + localparam r_entry_med_bits_lp = 9; + localparam r_entry_high_bits_lp = (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) - r_entry_med_bits_lp) - r_entry_low_bits_lp; + wire r_v_li = v_i & ~w_i; + wire w_v_li = v_i & w_i; + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] entry_shifted; + function automatic signed [entry_size_lp - 1:0] sv2v_cast_FDEA5_signed; + input reg signed [entry_size_lp - 1:0] inp; + sv2v_cast_FDEA5_signed = inp; + endfunction + wire [entry_size_lp - 1:0] entry_shamt_lp = sv2v_cast_FDEA5_signed(ptag_width_p); + bsg_rotate_left #(.width_p(((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)))) entry_shift( + .data_i(entry_cast_i), + .rot_i(entry_shamt_lp), + .o(entry_shifted) + ); + wire [vtag_width_p - 1:0] vtag_r; + bsg_dff_en #(.width_p(vtag_width_p)) vtag_reg( + .clk_i(clk_i), + .en_i(v_i), + .data_i(vtag_i), + .data_o(vtag_r) + ); + wire [8:0] passthrough_low_bits = vtag_r[0+:r_entry_low_bits_lp]; + wire [8:0] passthrough_med_bits = vtag_r[r_entry_low_bits_lp+:r_entry_med_bits_lp]; + wire fill_gigapage = (w_v_li & entry_cast_i[7]) & (els_1g_p > 0); + wire fill_megapage = (w_v_li & entry_cast_i[6]) & (els_2m_p > 0); + wire fill_kilopage = (w_v_li & ~fill_gigapage) & ~fill_megapage; + wire flush_4k_li; + wire [els_4k_p - 1:0] tag_r_match_4k_lo; + wire [els_4k_p - 1:0] tag_empty_4k_lo; + wire [els_4k_p - 1:0] repl_way_4k_lo; + wire [els_4k_p - 1:0] tag_4k_w_v_li = ({els_4k_p {fill_kilopage}} & repl_way_4k_lo) | {els_4k_p {flush_4k_li}}; + bsg_cam_1r1w_tag_array #( + .width_p(vtag_width_p), + .els_p(els_4k_p) + ) tag_array_4k( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(tag_4k_w_v_li), + .w_set_not_clear_i(~flush_4k_li), + .w_tag_i(vtag_i), + .w_empty_o(tag_empty_4k_lo), + .r_v_i(1'b1), + .r_tag_i(vtag_r), + .r_match_o(tag_r_match_4k_lo) + ); + wire any_match_4k_lo = |tag_r_match_4k_lo; + bsg_cam_1r1w_replacement #(.els_p(els_4k_p)) replacement_4k( + .clk_i(clk_i), + .reset_i(reset_i), + .read_v_i(tag_r_match_4k_lo), + .alloc_v_i(fill_kilopage), + .alloc_empty_i(tag_empty_4k_lo), + .alloc_v_o(repl_way_4k_lo) + ); + wire flush_2m_li; + wire [els_2m_lp - 1:0] tag_r_match_2m_lo; + wire [els_2m_lp - 1:0] tag_empty_2m_lo; + wire [els_2m_lp - 1:0] repl_way_2m_lo; + wire [els_2m_lp - 1:0] tag_2m_w_v_li = ({els_2m_lp {fill_megapage}} & repl_way_2m_lo) | {els_2m_lp {flush_2m_li}}; + bsg_cam_1r1w_tag_array #( + .width_p(vtag_width_p), + .els_p(els_2m_p) + ) tag_array_2m( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(tag_2m_w_v_li), + .w_set_not_clear_i(~flush_2m_li), + .w_tag_i(vtag_i), + .w_empty_o(tag_empty_2m_lo), + .r_v_i(1'b1), + .r_tag_i(vtag_r), + .r_match_o(tag_r_match_2m_lo) + ); + wire any_match_2m_lo = |tag_r_match_2m_lo; + bsg_cam_1r1w_replacement #(.els_p(els_2m_p)) replacement_2m( + .clk_i(clk_i), + .reset_i(reset_i), + .read_v_i(tag_r_match_2m_lo), + .alloc_v_i(fill_megapage), + .alloc_empty_i(tag_empty_2m_lo), + .alloc_v_o(repl_way_2m_lo) + ); + wire flush_1g_li; + wire [els_1g_lp - 1:0] tag_r_match_1g_lo; + wire [els_1g_lp - 1:0] tag_empty_1g_lo; + wire [els_1g_lp - 1:0] repl_way_1g_lo; + wire [els_1g_lp - 1:0] tag_1g_w_v_li = ({els_1g_lp {fill_gigapage}} & repl_way_1g_lo) | {els_1g_lp {flush_1g_li}}; + bsg_cam_1r1w_tag_array #( + .width_p(vtag_width_p), + .els_p(els_1g_p) + ) tag_array_1g( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(tag_1g_w_v_li), + .w_set_not_clear_i(~flush_1g_li), + .w_tag_i(vtag_i), + .w_empty_o(tag_empty_1g_lo), + .r_v_i(1'b1), + .r_tag_i(vtag_r), + .r_match_o(tag_r_match_1g_lo) + ); + wire any_match_1g_lo = |tag_r_match_1g_lo; + bsg_cam_1r1w_replacement #(.els_p(els_1g_p)) replacement_1g( + .clk_i(clk_i), + .reset_i(reset_i), + .read_v_i(tag_r_match_1g_lo), + .alloc_v_i(fill_gigapage), + .alloc_empty_i(tag_empty_1g_lo), + .alloc_v_o(repl_way_1g_lo) + ); + wire [(els_4k_p * r_entry_high_bits_lp) - 1:0] data_4k_high_r; + wire [(els_4k_p * 9) - 1:0] data_4k_med_r; + wire [(els_4k_p * 9) - 1:0] data_4k_low_r; + wire [els_4k_p - 1:0] mem_4k_w_v_li = {els_4k_p {fill_kilopage}} & repl_way_4k_lo; + genvar _gv_i_40; + generate + for (_gv_i_40 = 0; _gv_i_40 < els_4k_p; _gv_i_40 = _gv_i_40 + 1) begin : mem_array_4k + localparam i = _gv_i_40; + bsg_dff_en #(.width_p(entry_width_lp)) mem_reg( + .clk_i(clk_i), + .en_i(mem_4k_w_v_li[i]), + .data_i(entry_shifted), + .data_o({data_4k_high_r[i * r_entry_high_bits_lp+:r_entry_high_bits_lp], data_4k_med_r[i * 9+:9], data_4k_low_r[i * 9+:9]}) + ); + end + endgenerate + wire [(els_2m_lp * r_entry_high_bits_lp) - 1:0] data_2m_high_r; + wire [(els_2m_lp * 9) - 1:0] data_2m_med_r; + wire [els_2m_lp - 1:0] mem_2m_w_v_li = {els_2m_lp {fill_megapage}} & repl_way_2m_lo; + generate + if (els_2m_p == 0) begin : genblk2 + assign data_2m_high_r = 1'sb0; + assign data_2m_med_r = 1'sb0; + end + else begin : genblk2 + genvar _gv_i_41; + for (_gv_i_41 = 0; _gv_i_41 < els_2m_p; _gv_i_41 = _gv_i_41 + 1) begin : mem_array_2m + localparam i = _gv_i_41; + bsg_dff_en #(.width_p(r_entry_high_bits_lp + r_entry_med_bits_lp)) mem_reg( + .clk_i(clk_i), + .en_i(mem_2m_w_v_li[i]), + .data_i(entry_shifted[r_entry_low_bits_lp+:r_entry_med_bits_lp + r_entry_high_bits_lp]), + .data_o({data_2m_high_r[i * r_entry_high_bits_lp+:r_entry_high_bits_lp], data_2m_med_r[i * 9+:9]}) + ); + end + end + endgenerate + wire [(els_1g_lp * r_entry_high_bits_lp) - 1:0] data_1g_high_r; + wire [els_1g_lp - 1:0] mem_1g_w_v_li = {els_1g_lp {fill_gigapage}} & repl_way_1g_lo; + generate + if (els_1g_p == 0) begin : genblk3 + assign data_1g_high_r = 1'sb0; + end + else begin : genblk3 + genvar _gv_i_42; + for (_gv_i_42 = 0; _gv_i_42 < els_1g_p; _gv_i_42 = _gv_i_42 + 1) begin : mem_array_1g + localparam i = _gv_i_42; + bsg_dff_en #(.width_p(r_entry_high_bits_lp)) mem_reg( + .clk_i(clk_i), + .en_i(mem_1g_w_v_li[i]), + .data_i(entry_shifted[18+:r_entry_high_bits_lp]), + .data_o(data_1g_high_r[i * r_entry_high_bits_lp+:r_entry_high_bits_lp]) + ); + end + end + endgenerate + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] r_entry; + bsg_mux_one_hot #( + .width_p(r_entry_low_bits_lp), + .els_p(els_4k_p + 1) + ) one_hot_sel_low( + .data_i({passthrough_low_bits, data_4k_low_r}), + .sel_one_hot_i({any_match_1g_lo | any_match_2m_lo, tag_r_match_4k_lo}), + .data_o(r_entry[0+:r_entry_low_bits_lp]) + ); + bsg_mux_one_hot #( + .width_p(r_entry_med_bits_lp), + .els_p((els_4k_p + els_2m_p) + 1) + ) one_hot_sel_med( + .data_i({passthrough_med_bits, data_2m_med_r, data_4k_med_r}), + .sel_one_hot_i({any_match_1g_lo, tag_r_match_2m_lo, tag_r_match_4k_lo}), + .data_o(r_entry[r_entry_low_bits_lp+:r_entry_med_bits_lp]) + ); + bsg_mux_one_hot #( + .width_p(r_entry_high_bits_lp), + .els_p((els_4k_p + els_2m_p) + els_1g_lp) + ) one_hot_sel_high( + .data_i({data_1g_high_r, data_2m_high_r, data_4k_high_r}), + .sel_one_hot_i({tag_r_match_1g_lo, tag_r_match_2m_lo, tag_r_match_4k_lo}), + .data_o(r_entry[18+:r_entry_high_bits_lp]) + ); + wire [1:0] match_cnt; + bsg_popcount #(.width_p(3)) mpc( + .i({any_match_1g_lo, any_match_2m_lo, any_match_4k_lo}), + .o(match_cnt) + ); + wire single_match = match_cnt == 2'b01; + wire multi_match = match_cnt > 2'b01; + assign flush_4k_li = (fence_i | (any_match_1g_lo & any_match_4k_lo)) | (any_match_2m_lo & any_match_4k_lo); + assign flush_2m_li = fence_i | (any_match_1g_lo & any_match_2m_lo); + assign flush_1g_li = fence_i; + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] entry_unshifted; + bsg_rotate_right #(.width_p(((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)))) entry_unshift( + .data_i(r_entry), + .rot_i(entry_shamt_lp), + .o(entry_unshifted) + ); + assign entry_o = entry_unshifted; + assign v_o = single_match; +endmodule +module bp_be_top ( + clk_i, + reset_i, + cfg_bus_i, + fe_queue_i, + fe_queue_v_i, + fe_queue_ready_and_o, + fe_cmd_o, + fe_cmd_v_o, + fe_cmd_yumi_i, + cache_req_o, + cache_req_v_o, + cache_req_yumi_i, + cache_req_lock_i, + cache_req_metadata_o, + cache_req_metadata_v_o, + cache_req_id_i, + cache_req_critical_i, + cache_req_last_i, + cache_req_credits_full_i, + cache_req_credits_empty_i, + tag_mem_pkt_v_i, + tag_mem_pkt_i, + tag_mem_o, + tag_mem_pkt_yumi_o, + data_mem_pkt_v_i, + data_mem_pkt_i, + data_mem_o, + data_mem_pkt_yumi_o, + stat_mem_pkt_v_i, + stat_mem_pkt_i, + stat_mem_o, + stat_mem_pkt_yumi_o, + debug_irq_i, + timer_irq_i, + software_irq_i, + m_external_irq_i, + s_external_irq_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + localparam dcache_req_width_lp = ((((dcache_req_id_width_p + 1) + bp_common_pkg_dword_width_gp) + 3) + paddr_width_p) + 8; + localparam dcache_req_metadata_width_lp = ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p)) + 1; + localparam dcache_data_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + dcache_fill_width_p) + (dcache_block_width_p / dcache_fill_width_p)) + 2; + localparam dcache_tag_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 3) + dcache_tag_width_p) + 3; + localparam dcache_tag_info_width_lp = 3 + dcache_tag_width_p; + localparam dcache_stat_mem_pkt_width_lp = (((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 2; + localparam dcache_stat_info_width_lp = (2 > ((2 * dcache_assoc_p) - 1) ? 2 : (2 * dcache_assoc_p) - 1); + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input [fe_queue_width_lp - 1:0] fe_queue_i; + input fe_queue_v_i; + output wire fe_queue_ready_and_o; + output wire [fe_cmd_width_lp - 1:0] fe_cmd_o; + output wire fe_cmd_v_o; + input fe_cmd_yumi_i; + output wire [dcache_req_width_lp - 1:0] cache_req_o; + output wire cache_req_v_o; + input cache_req_yumi_i; + input cache_req_lock_i; + output wire [dcache_req_metadata_width_lp - 1:0] cache_req_metadata_o; + output wire cache_req_metadata_v_o; + input [dcache_req_id_width_p - 1:0] cache_req_id_i; + input cache_req_critical_i; + input cache_req_last_i; + input cache_req_credits_full_i; + input cache_req_credits_empty_i; + input tag_mem_pkt_v_i; + input [dcache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_i; + output wire [dcache_tag_info_width_lp - 1:0] tag_mem_o; + output wire tag_mem_pkt_yumi_o; + input data_mem_pkt_v_i; + input [dcache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_i; + output wire [dcache_block_width_p - 1:0] data_mem_o; + output wire data_mem_pkt_yumi_o; + input stat_mem_pkt_v_i; + input [dcache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_i; + output wire [dcache_stat_info_width_lp - 1:0] stat_mem_o; + output wire stat_mem_pkt_yumi_o; + input debug_irq_i; + input timer_irq_i; + input software_irq_i; + input m_external_irq_i; + input s_external_irq_i; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire [(((4 + vaddr_width_p) + 32) + fetch_ptr_p) + 287:0] dispatch_pkt; + wire [(4 + vaddr_width_p) - 1:0] br_pkt; + wire ordered_v; + wire hazard_v; + wire ispec_v; + wire irq_pending_lo; + wire irq_waiting_lo; + wire [(((((((3 + fetch_ptr_p) + 2) + vaddr_width_p) + vaddr_width_p) + vaddr_width_p) + 32) + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))) + 20:0] commit_pkt; + wire [78:0] iwb_pkt; + wire [78:0] fwb_pkt; + wire [12:0] decode_info_lo; + wire [(bp_common_pkg_rv64_priv_width_gp + (paddr_width_p - bp_common_pkg_page_offset_width_gp)) + 2:0] trans_info_lo; + wire [78:0] late_wb_pkt; + wire late_wb_v_lo; + wire late_wb_force_lo; + wire late_wb_yumi_li; + wire [(((((19 + vaddr_width_p) + 32) + fetch_ptr_p) + 122) + branch_metadata_fwd_width_p) - 1:0] issue_pkt; + wire [vaddr_width_p - 1:0] expected_npc_lo; + wire npc_mismatch_lo; + wire poison_isd_lo; + wire clear_iss_lo; + wire suppress_iss_lo; + wire resume_lo; + wire cmd_full_n_lo; + wire cmd_full_r_lo; + wire cmd_empty_n_lo; + wire cmd_empty_r_lo; + wire mem_ordered_lo; + wire mem_busy_lo; + wire idiv_busy_lo; + wire fdiv_busy_lo; + bp_be_director #(.bp_params_p(bp_params_p)) director( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .issue_pkt_i(issue_pkt), + .expected_npc_o(expected_npc_lo), + .fe_cmd_o(fe_cmd_o), + .fe_cmd_v_o(fe_cmd_v_o), + .fe_cmd_yumi_i(fe_cmd_yumi_i), + .resume_o(resume_lo), + .poison_isd_o(poison_isd_lo), + .clear_iss_o(clear_iss_lo), + .suppress_iss_o(suppress_iss_lo), + .irq_waiting_i(irq_waiting_lo), + .mem_busy_i(mem_busy_lo), + .cmd_full_n_o(cmd_full_n_lo), + .cmd_full_r_o(cmd_full_r_lo), + .br_pkt_i(br_pkt), + .commit_pkt_i(commit_pkt) + ); + bp_be_detector #(.bp_params_p(bp_params_p)) detector( + .clk_i(clk_i), + .reset_i(reset_i), + .issue_pkt_i(issue_pkt), + .cmd_full_i(cmd_full_r_lo), + .credits_full_i(cache_req_credits_full_i), + .credits_empty_i(cache_req_credits_empty_i), + .mem_busy_i(mem_busy_lo), + .mem_ordered_i(mem_ordered_lo), + .fdiv_busy_i(fdiv_busy_lo), + .idiv_busy_i(idiv_busy_lo), + .ispec_v_o(ispec_v), + .hazard_v_o(hazard_v), + .ordered_v_o(ordered_v), + .dispatch_pkt_i(dispatch_pkt), + .commit_pkt_i(commit_pkt), + .late_wb_pkt_i(late_wb_pkt), + .late_wb_yumi_i(late_wb_yumi_li) + ); + bp_be_scheduler #(.bp_params_p(bp_params_p)) scheduler( + .clk_i(clk_i), + .reset_i(reset_i), + .poison_isd_i(poison_isd_lo), + .resume_i(resume_lo), + .decode_info_i(decode_info_lo), + .trans_info_i(trans_info_lo), + .issue_pkt_o(issue_pkt), + .suppress_iss_i(suppress_iss_lo), + .clear_iss_i(clear_iss_lo), + .expected_npc_i(expected_npc_lo), + .hazard_v_i(hazard_v), + .ispec_v_i(ispec_v), + .irq_pending_i(irq_pending_lo), + .ordered_v_i(ordered_v), + .fe_queue_i(fe_queue_i), + .fe_queue_v_i(fe_queue_v_i), + .fe_queue_ready_and_o(fe_queue_ready_and_o), + .dispatch_pkt_o(dispatch_pkt), + .commit_pkt_i(commit_pkt), + .iwb_pkt_i(iwb_pkt), + .fwb_pkt_i(fwb_pkt), + .late_wb_pkt_i(late_wb_pkt), + .late_wb_v_i(late_wb_v_lo), + .late_wb_force_i(late_wb_force_lo), + .late_wb_yumi_o(late_wb_yumi_li) + ); + bp_be_calculator_top #(.bp_params_p(bp_params_p)) calculator( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .decode_info_o(decode_info_lo), + .trans_info_o(trans_info_lo), + .mem_busy_o(mem_busy_lo), + .mem_ordered_o(mem_ordered_lo), + .idiv_busy_o(idiv_busy_lo), + .fdiv_busy_o(fdiv_busy_lo), + .dispatch_pkt_i(dispatch_pkt), + .br_pkt_o(br_pkt), + .commit_pkt_o(commit_pkt), + .iwb_pkt_o(iwb_pkt), + .fwb_pkt_o(fwb_pkt), + .late_wb_pkt_o(late_wb_pkt), + .late_wb_v_o(late_wb_v_lo), + .late_wb_force_o(late_wb_force_lo), + .late_wb_yumi_i(late_wb_yumi_li), + .cache_req_o(cache_req_o), + .cache_req_metadata_o(cache_req_metadata_o), + .cache_req_v_o(cache_req_v_o), + .cache_req_yumi_i(cache_req_yumi_i), + .cache_req_lock_i(cache_req_lock_i), + .cache_req_metadata_v_o(cache_req_metadata_v_o), + .cache_req_id_i(cache_req_id_i), + .cache_req_critical_i(cache_req_critical_i), + .cache_req_last_i(cache_req_last_i), + .cache_req_credits_full_i(cache_req_credits_full_i), + .cache_req_credits_empty_i(cache_req_credits_empty_i), + .tag_mem_pkt_v_i(tag_mem_pkt_v_i), + .tag_mem_pkt_i(tag_mem_pkt_i), + .tag_mem_o(tag_mem_o), + .tag_mem_pkt_yumi_o(tag_mem_pkt_yumi_o), + .data_mem_pkt_v_i(data_mem_pkt_v_i), + .data_mem_pkt_i(data_mem_pkt_i), + .data_mem_o(data_mem_o), + .data_mem_pkt_yumi_o(data_mem_pkt_yumi_o), + .stat_mem_pkt_v_i(stat_mem_pkt_v_i), + .stat_mem_pkt_i(stat_mem_pkt_i), + .stat_mem_o(stat_mem_o), + .stat_mem_pkt_yumi_o(stat_mem_pkt_yumi_o), + .debug_irq_i(debug_irq_i), + .timer_irq_i(timer_irq_i), + .software_irq_i(software_irq_i), + .m_external_irq_i(m_external_irq_i), + .s_external_irq_i(s_external_irq_i), + .irq_pending_o(irq_pending_lo), + .irq_waiting_o(irq_waiting_lo), + .cmd_full_n_i(cmd_full_n_lo) + ); +endmodule +module bp_be_calculator_top ( + clk_i, + reset_i, + cfg_bus_i, + dispatch_pkt_i, + idiv_busy_o, + fdiv_busy_o, + mem_busy_o, + mem_ordered_o, + decode_info_o, + trans_info_o, + cmd_full_n_i, + commit_pkt_o, + br_pkt_o, + iwb_pkt_o, + fwb_pkt_o, + late_wb_pkt_o, + late_wb_v_o, + late_wb_force_o, + late_wb_yumi_i, + debug_irq_i, + timer_irq_i, + software_irq_i, + m_external_irq_i, + s_external_irq_i, + irq_waiting_o, + irq_pending_o, + cache_req_o, + cache_req_v_o, + cache_req_yumi_i, + cache_req_lock_i, + cache_req_metadata_o, + cache_req_metadata_v_o, + cache_req_id_i, + cache_req_critical_i, + cache_req_last_i, + cache_req_credits_full_i, + cache_req_credits_empty_i, + data_mem_pkt_v_i, + data_mem_pkt_i, + data_mem_pkt_yumi_o, + data_mem_o, + tag_mem_pkt_v_i, + tag_mem_pkt_i, + tag_mem_pkt_yumi_o, + tag_mem_o, + stat_mem_pkt_v_i, + stat_mem_pkt_i, + stat_mem_pkt_yumi_o, + stat_mem_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + localparam dcache_req_width_lp = ((((dcache_req_id_width_p + 1) + bp_common_pkg_dword_width_gp) + 3) + paddr_width_p) + 8; + localparam dcache_req_metadata_width_lp = ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p)) + 1; + localparam dcache_data_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + dcache_fill_width_p) + (dcache_block_width_p / dcache_fill_width_p)) + 2; + localparam dcache_tag_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 3) + dcache_tag_width_p) + 3; + localparam dcache_tag_info_width_lp = 3 + dcache_tag_width_p; + localparam dcache_stat_mem_pkt_width_lp = (((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 2; + localparam dcache_stat_info_width_lp = (2 > ((2 * dcache_assoc_p) - 1) ? 2 : (2 * dcache_assoc_p) - 1); + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input [dispatch_pkt_width_lp - 1:0] dispatch_pkt_i; + output wire idiv_busy_o; + output wire fdiv_busy_o; + output wire mem_busy_o; + output wire mem_ordered_o; + output wire [12:0] decode_info_o; + output wire [trans_info_width_lp - 1:0] trans_info_o; + input cmd_full_n_i; + output wire [commit_pkt_width_lp - 1:0] commit_pkt_o; + output wire [branch_pkt_width_lp - 1:0] br_pkt_o; + output wire [78:0] iwb_pkt_o; + output wire [78:0] fwb_pkt_o; + output wire [78:0] late_wb_pkt_o; + output wire late_wb_v_o; + output wire late_wb_force_o; + input late_wb_yumi_i; + input debug_irq_i; + input timer_irq_i; + input software_irq_i; + input m_external_irq_i; + input s_external_irq_i; + output wire irq_waiting_o; + output wire irq_pending_o; + output wire [dcache_req_width_lp - 1:0] cache_req_o; + output wire cache_req_v_o; + input cache_req_yumi_i; + input cache_req_lock_i; + output wire [dcache_req_metadata_width_lp - 1:0] cache_req_metadata_o; + output wire cache_req_metadata_v_o; + input [dcache_req_id_width_p - 1:0] cache_req_id_i; + input cache_req_critical_i; + input cache_req_last_i; + input cache_req_credits_full_i; + input cache_req_credits_empty_i; + input data_mem_pkt_v_i; + input [dcache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_i; + output wire data_mem_pkt_yumi_o; + output wire [dcache_block_width_p - 1:0] data_mem_o; + input tag_mem_pkt_v_i; + input [dcache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_i; + output wire tag_mem_pkt_yumi_o; + output wire [dcache_tag_info_width_lp - 1:0] tag_mem_o; + input stat_mem_pkt_v_i; + input [dcache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_i; + output wire stat_mem_pkt_yumi_o; + output wire [dcache_stat_info_width_lp - 1:0] stat_mem_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((4 + vaddr_width_p) + 32) + fetch_ptr_p) + 287:0] dispatch_pkt_cast_i; + assign dispatch_pkt_cast_i = dispatch_pkt_i; + wire [(((((((3 + fetch_ptr_p) + 2) + vaddr_width_p) + vaddr_width_p) + vaddr_width_p) + 32) + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))) + 20:0] commit_pkt_cast_o; + assign commit_pkt_o = commit_pkt_cast_o; + wire [(4 + vaddr_width_p) - 1:0] br_pkt_cast_o; + assign br_pkt_o = br_pkt_cast_o; + wire [78:0] iwb_pkt_cast_o; + assign iwb_pkt_o = iwb_pkt_cast_o; + wire [78:0] fwb_pkt_cast_o; + assign fwb_pkt_o = fwb_pkt_cast_o; + wire [78:0] late_wb_pkt_cast_o; + assign late_wb_pkt_o = late_wb_pkt_cast_o; + localparam pipe_stage_els_lp = 5; + reg [227:0] exc_stage_n; + wire [189:0] exc_stage_r; + reg [473:0] comp_stage_n; + wire [394:0] comp_stage_r; + wire [2:0] frm_dyn_lo; + wire [78:0] pipe_long_iwb_pkt; + wire [78:0] pipe_long_fwb_pkt; + wire pipe_int_early_instr_misaligned_lo; + wire pipe_int_catchup_instr_misaligned_lo; + wire pipe_int_catchup_mispredict_lo; + wire pipe_mem_dtlb_load_miss_lo; + wire pipe_mem_dtlb_store_miss_lo; + wire pipe_mem_dcache_load_miss_lo; + wire pipe_mem_dcache_miss_lo; + wire pipe_mem_dcache_replay_lo; + wire pipe_mem_load_misaligned_lo; + wire pipe_mem_load_access_fault_lo; + wire pipe_mem_load_page_fault_lo; + wire pipe_mem_store_misaligned_lo; + wire pipe_mem_store_access_fault_lo; + wire pipe_mem_store_page_fault_lo; + wire pipe_sys_illegal_instr_lo; + wire pipe_int_early_data_v_lo; + wire pipe_int_catchup_data_v_lo; + wire pipe_aux_data_v_lo; + wire pipe_mem_early_data_v_lo; + wire pipe_mem_final_data_v_lo; + wire pipe_sys_data_v_lo; + wire pipe_mul_data_v_lo; + wire pipe_fma_data_v_lo; + wire pipe_long_idata_v_lo; + wire pipe_long_idata_yumi_lo; + wire pipe_long_fdata_v_lo; + wire pipe_long_fdata_yumi_lo; + wire [65:0] pipe_int_early_data_lo; + wire [65:0] pipe_int_catchup_data_lo; + wire [65:0] pipe_aux_data_lo; + wire [65:0] pipe_mem_early_data_lo; + wire [65:0] pipe_mem_final_data_lo; + wire [65:0] pipe_sys_data_lo; + wire [65:0] pipe_mul_data_lo; + wire [65:0] pipe_fma_data_lo; + wire [4:0] pipe_aux_fflags_lo; + wire [4:0] pipe_fma_fflags_lo; + wire [vaddr_width_p - 1:0] pipe_int_early_npc_lo; + wire pipe_int_early_branch_lo; + wire pipe_int_early_btaken_lo; + wire [vaddr_width_p - 1:0] pipe_int_catchup_npc_lo; + wire pipe_int_catchup_branch_lo; + wire pipe_int_catchup_btaken_lo; + wire [78:0] pipe_mem_late_wb_pkt; + wire pipe_mem_late_wb_v; + wire pipe_mem_late_wb_yumi; + wire [14:0] match_rs; + wire [329:0] forward_data; + genvar _gv_i_43; + generate + for (_gv_i_43 = 0; _gv_i_43 < pipe_stage_els_lp; _gv_i_43 = _gv_i_43 + 1) begin : forward_match + localparam i = _gv_i_43; + assign match_rs[0 + i] = ((((i < 4) & dispatch_pkt_cast_i[277]) & comp_stage_r[(i * 79) + 78]) & (dispatch_pkt_cast_i[(32 + (fetch_ptr_p + 287)) - 12-:5] == comp_stage_r[(i * 79) + 75-:5])) || ((dispatch_pkt_cast_i[275] & comp_stage_r[(i * 79) + 77]) & (dispatch_pkt_cast_i[(32 + (fetch_ptr_p + 287)) - 12-:5] == comp_stage_r[(i * 79) + 75-:5])); + assign match_rs[5 + i] = ((((i < 4) & dispatch_pkt_cast_i[276]) & comp_stage_r[(i * 79) + 78]) & (dispatch_pkt_cast_i[(32 + (fetch_ptr_p + 287)) - 7-:5] == comp_stage_r[(i * 79) + 75-:5])) || ((dispatch_pkt_cast_i[274] & comp_stage_r[(i * 79) + 77]) & (dispatch_pkt_cast_i[(32 + (fetch_ptr_p + 287)) - 7-:5] == comp_stage_r[(i * 79) + 75-:5])); + assign match_rs[10 + i] = (dispatch_pkt_cast_i[273] & comp_stage_r[(i * 79) + 77]) & (dispatch_pkt_cast_i[32 + (fetch_ptr_p + 287)-:5] == comp_stage_r[(i * 79) + 75-:5]); + assign forward_data[i * bp_be_pkg_dpath_width_gp+:bp_be_pkg_dpath_width_gp] = comp_stage_n[((i + 1) * 79) + 70-:66]; + end + endgenerate + wire [197:0] bypass_rs; + wire [197:0] dispatch_data = {dispatch_pkt_cast_i[99-:66], dispatch_pkt_cast_i[165-:66], dispatch_pkt_cast_i[231-:66]}; + genvar _gv_i_44; + generate + for (_gv_i_44 = 0; _gv_i_44 < 3; _gv_i_44 = _gv_i_44 + 1) begin : pencode + localparam i = _gv_i_44; + wire [pipe_stage_els_lp:0] match_rs_onehot; + bsg_priority_encode_one_hot_out #( + .width_p(6), + .lo_to_hi_p(1) + ) pencode_oh( + .i({1'b1, match_rs[i * 5+:5]}), + .o(match_rs_onehot), + .v_o() + ); + bsg_mux_one_hot #( + .width_p(bp_be_pkg_dpath_width_gp), + .els_p(6) + ) fwd_mux_oh( + .data_i({dispatch_data[i * bp_be_pkg_dpath_width_gp+:bp_be_pkg_dpath_width_gp], forward_data}), + .sel_one_hot_i(match_rs_onehot), + .data_o(bypass_rs[i * bp_be_pkg_dpath_width_gp+:bp_be_pkg_dpath_width_gp]) + ); + end + endgenerate + wire [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] reservation_r; + bp_be_reservation #(.bp_params_p(bp_params_p)) reservation_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .dispatch_pkt_i(dispatch_pkt_cast_i), + .bypass_rs_i(bypass_rs), + .reservation_o(reservation_r) + ); + bp_be_pipe_sys #(.bp_params_p(bp_params_p)) pipe_sys( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .reservation_i(reservation_r), + .flush_i(commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]), + .retire_v_i(exc_stage_r[113]), + .retire_queue_v_i(exc_stage_r[112]), + .retire_data_i(comp_stage_r[228-:66]), + .retire_exception_i(exc_stage_r[109-:25]), + .retire_special_i(exc_stage_r[84-:9]), + .commit_pkt_o(commit_pkt_cast_o), + .iwb_pkt_i(iwb_pkt_o), + .fwb_pkt_i(fwb_pkt_o), + .debug_irq_i(debug_irq_i), + .timer_irq_i(timer_irq_i), + .software_irq_i(software_irq_i), + .m_external_irq_i(m_external_irq_i), + .s_external_irq_i(s_external_irq_i), + .irq_pending_o(irq_pending_o), + .irq_waiting_o(irq_waiting_o), + .illegal_instr_o(pipe_sys_illegal_instr_lo), + .data_o(pipe_sys_data_lo), + .v_o(pipe_sys_data_v_lo), + .decode_info_o(decode_info_o), + .trans_info_o(trans_info_o), + .frm_dyn_o(frm_dyn_lo) + ); + bp_be_pipe_int #(.bp_params_p(bp_params_p)) pipe_int_early( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(~exc_stage_r[35]), + .reservation_i(reservation_r), + .flush_i(commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]), + .data_o(pipe_int_early_data_lo), + .v_o(pipe_int_early_data_v_lo), + .npc_o(pipe_int_early_npc_lo), + .branch_o(pipe_int_early_branch_lo), + .btaken_o(pipe_int_early_btaken_lo), + .instr_misaligned_v_o(pipe_int_early_instr_misaligned_lo) + ); + assign br_pkt_cast_o[2 + (vaddr_width_p + 1)] = exc_stage_r[37] & exc_stage_r[36]; + assign br_pkt_cast_o[2 + (vaddr_width_p + 0)] = br_pkt_cast_o[2 + (vaddr_width_p + 1)] & pipe_int_early_branch_lo; + assign br_pkt_cast_o[vaddr_width_p + 1] = br_pkt_cast_o[2 + (vaddr_width_p + 1)] & pipe_int_early_btaken_lo; + assign br_pkt_cast_o[vaddr_width_p + 0] = br_pkt_cast_o[2 + (vaddr_width_p + 1)] & exc_stage_r[35]; + assign br_pkt_cast_o[vaddr_width_p - 1-:vaddr_width_p] = pipe_int_early_npc_lo; + wire [63:0] rs2_val_r; + generate + if (integer_support_p[1'b1]) begin : catchup + wire [64:0] catchup_bypass_src1; + bp_be_int_unbox #(.bp_params_p(bp_params_p)) irs1_unbox( + .reg_i(comp_stage_n[228-:66]), + .tag_i(reservation_r[(54 + (fetch_ptr_p + 391)) - 31-:2]), + .unsigned_i(reservation_r[(54 + (fetch_ptr_p + 391)) - 30]), + .val_o(catchup_bypass_src1) + ); + wire [64:0] catchup_bypass_src2; + bp_be_int_unbox #(.bp_params_p(bp_params_p)) irs2_unbox( + .reg_i(comp_stage_n[228-:66]), + .tag_i(reservation_r[(54 + (fetch_ptr_p + 391)) - 34-:2]), + .unsigned_i(reservation_r[(54 + (fetch_ptr_p + 391)) - 33]), + .val_o(catchup_bypass_src2) + ); + reg [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] catchup_reservation_n; + wire [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] catchup_reservation_r; + always @(*) begin + if (_sv2v_0) + ; + catchup_reservation_n = reservation_r; + if ((reservation_r[(54 + (fetch_ptr_p + 391)) - 8] && comp_stage_r[157]) && (comp_stage_r[154-:5] == reservation_r[(86 + (fetch_ptr_p + 391)) - 12-:5])) + catchup_reservation_n[389-:65] = catchup_bypass_src1; + if ((reservation_r[(54 + (fetch_ptr_p + 391)) - 9] && comp_stage_r[157]) && (comp_stage_r[154-:5] == reservation_r[(86 + (fetch_ptr_p + 391)) - 7-:5])) + catchup_reservation_n[324-:65] = catchup_bypass_src2; + end + bsg_dff #(.width_p(1 * ((((((((((1 + vaddr_width_p) + 86) + fetch_ptr_p) + issue_ptr_p) + bp_be_pkg_int_rec_width_gp) + bp_be_pkg_int_rec_width_gp) + bp_be_pkg_int_rec_width_gp) + bp_be_pkg_dp_rec_width_gp) + bp_be_pkg_dp_rec_width_gp) + bp_be_pkg_dp_rec_width_gp))) catchup_reservation_reg( + .clk_i(clk_i), + .data_i(catchup_reservation_n), + .data_o(catchup_reservation_r) + ); + bp_be_pipe_int #(.bp_params_p(bp_params_p)) pipe_int_catchup( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(exc_stage_r[73]), + .reservation_i(catchup_reservation_r), + .flush_i(commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]), + .data_o(pipe_int_catchup_data_lo), + .v_o(pipe_int_catchup_data_v_lo), + .npc_o(pipe_int_catchup_npc_lo), + .branch_o(pipe_int_catchup_branch_lo), + .btaken_o(pipe_int_catchup_btaken_lo), + .instr_misaligned_v_o(pipe_int_catchup_instr_misaligned_lo) + ); + assign pipe_int_catchup_mispredict_lo = exc_stage_r[73] & (pipe_int_catchup_npc_lo != reservation_r[vaddr_width_p + (86 + (fetch_ptr_p + 391))-:((vaddr_width_p + (86 + (fetch_ptr_p + 391))) >= (86 + (fetch_ptr_p + 392)) ? ((vaddr_width_p + (86 + (fetch_ptr_p + 391))) - (86 + (fetch_ptr_p + 392))) + 1 : ((86 + (fetch_ptr_p + 392)) - (vaddr_width_p + (86 + (fetch_ptr_p + 391)))) + 1)]); + assign rs2_val_r = (catchup_reservation_r[(54 + (fetch_ptr_p + 391)) - 9] ? catchup_reservation_r[324-:65] : catchup_reservation_r[129-:65]); + end + else begin : no_catchup + assign pipe_int_catchup_data_lo = 1'sb0; + assign pipe_int_catchup_data_v_lo = 1'sb0; + assign pipe_int_catchup_mispredict_lo = 1'sb0; + assign pipe_int_catchup_instr_misaligned_lo = 1'sb0; + wire [63:0] rs2_val_n = (reservation_r[(54 + (fetch_ptr_p + 391)) - 9] ? reservation_r[324-:65] : reservation_r[129-:65]); + bsg_dff #(.width_p(bp_common_pkg_dword_width_gp)) rs2_reg( + .clk_i(clk_i), + .data_i(rs2_val_n), + .data_o(rs2_val_r) + ); + end + endgenerate + bp_be_pipe_aux #(.bp_params_p(bp_params_p)) pipe_aux( + .clk_i(clk_i), + .reset_i(reset_i), + .reservation_i(reservation_r), + .flush_i(commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]), + .frm_dyn_i(frm_dyn_lo), + .data_o(pipe_aux_data_lo), + .fflags_o(pipe_aux_fflags_lo), + .v_o(pipe_aux_data_v_lo) + ); + bp_be_pipe_mem #(.bp_params_p(bp_params_p)) pipe_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .flush_i(commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]), + .sfence_i(commit_pkt_cast_o[12]), + .busy_o(mem_busy_o), + .ordered_o(mem_ordered_o), + .reservation_i(reservation_r), + .rs2_val_i(rs2_val_r), + .commit_pkt_i(commit_pkt_cast_o), + .cache_req_o(cache_req_o), + .cache_req_v_o(cache_req_v_o), + .cache_req_yumi_i(cache_req_yumi_i), + .cache_req_lock_i(cache_req_lock_i), + .cache_req_metadata_o(cache_req_metadata_o), + .cache_req_metadata_v_o(cache_req_metadata_v_o), + .cache_req_id_i(cache_req_id_i), + .cache_req_critical_i(cache_req_critical_i), + .cache_req_last_i(cache_req_last_i), + .cache_req_credits_full_i(cache_req_credits_full_i), + .cache_req_credits_empty_i(cache_req_credits_empty_i), + .data_mem_pkt_i(data_mem_pkt_i), + .data_mem_pkt_v_i(data_mem_pkt_v_i), + .data_mem_pkt_yumi_o(data_mem_pkt_yumi_o), + .data_mem_o(data_mem_o), + .tag_mem_pkt_i(tag_mem_pkt_i), + .tag_mem_pkt_v_i(tag_mem_pkt_v_i), + .tag_mem_pkt_yumi_o(tag_mem_pkt_yumi_o), + .tag_mem_o(tag_mem_o), + .stat_mem_pkt_i(stat_mem_pkt_i), + .stat_mem_pkt_v_i(stat_mem_pkt_v_i), + .stat_mem_pkt_yumi_o(stat_mem_pkt_yumi_o), + .stat_mem_o(stat_mem_o), + .tlb_store_miss_v_o(pipe_mem_dtlb_store_miss_lo), + .tlb_load_miss_v_o(pipe_mem_dtlb_load_miss_lo), + .cache_replay_v_o(pipe_mem_dcache_replay_lo), + .cache_miss_v_o(pipe_mem_dcache_miss_lo), + .load_misaligned_v_o(pipe_mem_load_misaligned_lo), + .load_access_fault_v_o(pipe_mem_load_access_fault_lo), + .load_page_fault_v_o(pipe_mem_load_page_fault_lo), + .store_misaligned_v_o(pipe_mem_store_misaligned_lo), + .store_access_fault_v_o(pipe_mem_store_access_fault_lo), + .store_page_fault_v_o(pipe_mem_store_page_fault_lo), + .early_data_o(pipe_mem_early_data_lo), + .early_v_o(pipe_mem_early_data_v_lo), + .final_data_o(pipe_mem_final_data_lo), + .final_v_o(pipe_mem_final_data_v_lo), + .late_wb_pkt_o(pipe_mem_late_wb_pkt), + .late_wb_v_o(pipe_mem_late_wb_v), + .trans_info_i(trans_info_o) + ); + bp_be_pipe_fma #(.bp_params_p(bp_params_p)) pipe_fma( + .clk_i(clk_i), + .reset_i(reset_i), + .reservation_i(reservation_r), + .flush_i(commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]), + .frm_dyn_i(frm_dyn_lo), + .imul_data_o(pipe_mul_data_lo), + .imul_v_o(pipe_mul_data_v_lo), + .fma_data_o(pipe_fma_data_lo), + .fma_fflags_o(pipe_fma_fflags_lo), + .fma_v_o(pipe_fma_data_v_lo) + ); + bp_be_pipe_long #(.bp_params_p(bp_params_p)) pipe_long( + .clk_i(clk_i), + .reset_i(reset_i), + .reservation_i(reservation_r), + .flush_i(commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]), + .ibusy_o(idiv_busy_o), + .fbusy_o(fdiv_busy_o), + .frm_dyn_i(frm_dyn_lo), + .iwb_pkt_o(pipe_long_iwb_pkt), + .iwb_v_o(pipe_long_idata_v_lo), + .iwb_yumi_i(pipe_long_idata_yumi_lo), + .fwb_pkt_o(pipe_long_fwb_pkt), + .fwb_v_o(pipe_long_fdata_v_lo), + .fwb_yumi_i(pipe_long_fdata_yumi_lo) + ); + localparam num_late_wb_lp = 3; + wire [2:0] late_wb_reqs_li; + wire [2:0] late_wb_grants_lo; + assign {pipe_long_fdata_yumi_lo, pipe_long_idata_yumi_lo, pipe_mem_late_wb_yumi} = late_wb_grants_lo & {num_late_wb_lp {late_wb_yumi_i}}; + assign late_wb_reqs_li = {pipe_long_fdata_v_lo, pipe_long_idata_v_lo, pipe_mem_late_wb_v}; + bsg_arb_fixed #( + .inputs_p(num_late_wb_lp), + .lo_to_hi_p(1) + ) late_wb_arb( + .ready_then_i(1'b1), + .reqs_i(late_wb_reqs_li), + .grants_o(late_wb_grants_lo) + ); + wire [78:0] late_wb_pkt_sel; + wire [236:0] late_wb_pkts_li = {pipe_long_fwb_pkt, pipe_long_iwb_pkt, pipe_mem_late_wb_pkt}; + bsg_mux_one_hot #( + .width_p(79), + .els_p(num_late_wb_lp) + ) late_wb_mux_oh( + .data_i(late_wb_pkts_li), + .sel_one_hot_i(late_wb_grants_lo), + .data_o(late_wb_pkt_sel) + ); + assign late_wb_pkt_cast_o = late_wb_pkt_sel; + assign late_wb_v_o = |late_wb_grants_lo; + assign late_wb_force_o = pipe_mem_late_wb_v; + wire injection = dispatch_pkt_cast_i[4 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))] & ~dispatch_pkt_cast_i[3 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))]; + function automatic [4:0] sv2v_cast_93F5B; + input reg [4:0] inp; + sv2v_cast_93F5B = inp; + endfunction + function automatic [65:0] sv2v_cast_2AE23; + input reg [65:0] inp; + sv2v_cast_2AE23 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + begin : sv2v_autoblock_1 + reg signed [31:0] i; + for (i = 0; i <= pipe_stage_els_lp; i = i + 1) + begin : comp_stage + comp_stage_n[0 + (i * 79)+:79] = (i == 0 ? {dispatch_pkt_cast_i[272], dispatch_pkt_cast_i[271], 1'b0, sv2v_cast_93F5B(dispatch_pkt_cast_i[(32 + (fetch_ptr_p + 287)) - 20-:5]), sv2v_cast_2AE23(1'sb0), 5'b00000} : comp_stage_r[0 + ((i - 1) * 79)+:79]); + end + end + comp_stage_n[70-:66] = comp_stage_n[70-:66] | (injection ? dispatch_pkt_cast_i[165-:66] : {66 {1'sb0}}); + comp_stage_n[149-:66] = comp_stage_n[149-:66] | (pipe_int_early_data_v_lo ? pipe_int_early_data_lo : {66 {1'sb0}}); + comp_stage_n[149-:66] = comp_stage_n[149-:66] | (pipe_sys_data_v_lo ? pipe_sys_data_lo : {66 {1'sb0}}); + comp_stage_n[228-:66] = comp_stage_n[228-:66] | (pipe_mem_early_data_v_lo ? pipe_mem_early_data_lo : {66 {1'sb0}}); + comp_stage_n[228-:66] = comp_stage_n[228-:66] | (pipe_aux_data_v_lo ? pipe_aux_data_lo : {66 {1'sb0}}); + comp_stage_n[228-:66] = comp_stage_n[228-:66] | (pipe_int_catchup_data_v_lo ? pipe_int_catchup_data_lo : {66 {1'sb0}}); + comp_stage_n[307-:66] = comp_stage_n[307-:66] | (pipe_mem_final_data_v_lo ? pipe_mem_final_data_lo : {66 {1'sb0}}); + comp_stage_n[307-:66] = comp_stage_n[307-:66] | (pipe_mul_data_v_lo ? pipe_mul_data_lo : {66 {1'sb0}}); + comp_stage_n[386-:66] = comp_stage_n[386-:66] | (pipe_fma_data_v_lo ? pipe_fma_data_lo : {66 {1'sb0}}); + comp_stage_n[4-:5] = comp_stage_n[4-:5] | (injection ? dispatch_pkt_cast_i[99-:66] : {5 {1'sb0}}); + comp_stage_n[162-:5] = comp_stage_n[162-:5] | (pipe_aux_data_v_lo ? pipe_aux_fflags_lo : {5 {1'sb0}}); + comp_stage_n[320-:5] = comp_stage_n[320-:5] | (pipe_fma_data_v_lo ? pipe_fma_fflags_lo : {5 {1'sb0}}); + comp_stage_n[78] = comp_stage_n[78] & exc_stage_n[37]; + comp_stage_n[157] = comp_stage_n[157] & exc_stage_n[75]; + comp_stage_n[236] = comp_stage_n[236] & exc_stage_n[113]; + comp_stage_n[315] = comp_stage_n[315] & exc_stage_n[151]; + comp_stage_n[394] = comp_stage_n[394] & exc_stage_n[189]; + comp_stage_n[77] = comp_stage_n[77] & exc_stage_n[37]; + comp_stage_n[156] = comp_stage_n[156] & exc_stage_n[75]; + comp_stage_n[235] = comp_stage_n[235] & exc_stage_n[113]; + comp_stage_n[314] = comp_stage_n[314] & exc_stage_n[151]; + comp_stage_n[393] = comp_stage_n[393] & exc_stage_n[189]; + comp_stage_n[4-:5] = comp_stage_n[4-:5] & {5 {exc_stage_n[37]}}; + comp_stage_n[83-:5] = comp_stage_n[83-:5] & {5 {exc_stage_n[75]}}; + comp_stage_n[162-:5] = comp_stage_n[162-:5] & {5 {exc_stage_n[113]}}; + comp_stage_n[241-:5] = comp_stage_n[241-:5] & {5 {exc_stage_n[151]}}; + comp_stage_n[320-:5] = comp_stage_n[320-:5] & {5 {exc_stage_n[189]}}; + comp_stage_n[315] = comp_stage_n[315] & ~commit_pkt_cast_o[1]; + comp_stage_n[314] = comp_stage_n[314] & ~commit_pkt_cast_o[0]; + end + bsg_dff #(.width_p(395)) comp_stage_reg( + .clk_i(clk_i), + .data_i(comp_stage_n[0+:395]), + .data_o(comp_stage_r) + ); + assign iwb_pkt_cast_o = comp_stage_r[237+:79]; + assign fwb_pkt_cast_o = comp_stage_r[316+:79]; + always @(*) begin + if (_sv2v_0) + ; + begin : sv2v_autoblock_2 + reg signed [31:0] i; + for (i = 0; i <= pipe_stage_els_lp; i = i + 1) + begin : exc_stage + exc_stage_n[i * 38+:38] = (i == 0 ? {38 {1'sb0}} : exc_stage_r[(i - 1) * 38+:38]); + end + end + exc_stage_n[37] = exc_stage_n[37] | dispatch_pkt_cast_i[4 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))]; + exc_stage_n[36] = exc_stage_n[36] | dispatch_pkt_cast_i[3 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))]; + exc_stage_n[35] = exc_stage_n[35] | dispatch_pkt_cast_i[2 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))]; + exc_stage_n[34] = exc_stage_n[34] | dispatch_pkt_cast_i[1 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))]; + exc_stage_n[8-:9] = exc_stage_n[8-:9] | dispatch_pkt_cast_i[8-:9]; + exc_stage_n[33-:25] = exc_stage_n[33-:25] | dispatch_pkt_cast_i[33-:25]; + exc_stage_n[37] = exc_stage_n[37] & (~commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))] | dispatch_pkt_cast_i[1 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))]); + exc_stage_n[75] = exc_stage_n[75] & (~commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))] | exc_stage_r[34]); + exc_stage_n[113] = exc_stage_n[113] & (~commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))] | exc_stage_r[72]); + exc_stage_n[151] = exc_stage_n[151] & (commit_pkt_cast_o[1 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))] | exc_stage_r[110]); + exc_stage_n[36] = exc_stage_n[36] & ~commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]; + exc_stage_n[74] = exc_stage_n[74] & ~commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]; + exc_stage_n[112] = exc_stage_n[112] & ~commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]; + exc_stage_n[60] = exc_stage_n[60] | pipe_sys_illegal_instr_lo; + exc_stage_n[58] = exc_stage_n[58] | pipe_int_early_instr_misaligned_lo; + exc_stage_n[52] = exc_stage_n[52] | pipe_mem_dtlb_store_miss_lo; + exc_stage_n[53] = exc_stage_n[53] | pipe_mem_dtlb_load_miss_lo; + exc_stage_n[62] = exc_stage_n[62] | pipe_mem_load_misaligned_lo; + exc_stage_n[63] = exc_stage_n[63] | pipe_mem_load_access_fault_lo; + exc_stage_n[70] = exc_stage_n[70] | pipe_mem_load_page_fault_lo; + exc_stage_n[64] = exc_stage_n[64] | pipe_mem_store_misaligned_lo; + exc_stage_n[65] = exc_stage_n[65] | pipe_mem_store_access_fault_lo; + exc_stage_n[71] = exc_stage_n[71] | pipe_mem_store_page_fault_lo; + exc_stage_n[96] = exc_stage_n[96] | pipe_int_catchup_instr_misaligned_lo; + exc_stage_n[85] = exc_stage_n[85] | pipe_int_catchup_mispredict_lo; + exc_stage_n[92] = exc_stage_n[92] | pipe_mem_dcache_replay_lo; + exc_stage_n[84] = exc_stage_n[84] | pipe_mem_dcache_miss_lo; + exc_stage_n[86] = exc_stage_n[86] | (|{exc_stage_r[109-:25], exc_stage_r[84-:9]} & cmd_full_n_i); + end + bsg_dff #(.width_p(190)) exc_stage_reg( + .clk_i(clk_i), + .data_i(exc_stage_n[0+:190]), + .data_o(exc_stage_r) + ); + initial _sv2v_0 = 0; +endmodule +module bp_be_csr ( + clk_i, + reset_i, + cfg_bus_i, + csr_r_v_i, + csr_r_addr_i, + csr_r_data_o, + csr_r_illegal_o, + retire_pkt_i, + fflags_acc_i, + frf_w_v_i, + debug_irq_i, + timer_irq_i, + software_irq_i, + m_external_irq_i, + s_external_irq_i, + irq_pending_o, + irq_waiting_o, + commit_pkt_o, + decode_info_o, + trans_info_o, + frm_dyn_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input csr_r_v_i; + localparam bp_common_pkg_rv64_csr_addr_width_gp = 12; + input [11:0] csr_r_addr_i; + output reg [63:0] csr_r_data_o; + output reg csr_r_illegal_o; + input [retire_pkt_width_lp - 1:0] retire_pkt_i; + input wire [4:0] fflags_acc_i; + input frf_w_v_i; + input debug_irq_i; + input timer_irq_i; + input software_irq_i; + input m_external_irq_i; + input s_external_irq_i; + output wire irq_pending_o; + output wire irq_waiting_o; + output wire [commit_pkt_width_lp - 1:0] commit_pkt_o; + output wire [12:0] decode_info_o; + output wire [trans_info_width_lp - 1:0] trans_info_o; + output wire [2:0] frm_dyn_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire [((((3 + vaddr_width_p) + vaddr_width_p) + 98) + fetch_ptr_p) + 37:0] retire_pkt_cast_i; + assign retire_pkt_cast_i = retire_pkt_i; + wire [(((((((3 + fetch_ptr_p) + 2) + vaddr_width_p) + vaddr_width_p) + vaddr_width_p) + 32) + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))) + 20:0] commit_pkt_cast_o; + assign commit_pkt_o = commit_pkt_cast_o; + wire [12:0] decode_info_cast_o; + assign decode_info_o = decode_info_cast_o; + wire [(bp_common_pkg_rv64_priv_width_gp + (paddr_width_p - bp_common_pkg_page_offset_width_gp)) + 2:0] trans_info_cast_o; + assign trans_info_o = trans_info_cast_o; + reg [63:0] csr_data_lo; + reg exception_v_lo; + reg interrupt_v_lo; + wire [63:0] sstatus_wmask_li; + wire [63:0] sstatus_rmask_li; + wire [63:0] sie_rwmask_li; + wire [63:0] sip_wmask_li; + wire [63:0] sip_rmask_li; + wire [63:0] mip_wmask_li; + reg [1:0] priv_mode_n; + wire [1:0] priv_mode_r; + wire debug_mode_n; + wire debug_mode_r; + wire translation_en_n; + wire translation_en_r; + wire is_debug_mode = debug_mode_r; + wire is_m_mode = is_debug_mode | (priv_mode_r == 2'b11); + wire is_s_mode = priv_mode_r == 2'b01; + wire is_u_mode = priv_mode_r == 1'b0; + reg [32:0] dcsr_li; + wire [32:0] dcsr_lo; + wire [11:0] dcsr_n; + wire [11:0] dcsr_r; + bsg_dff_reset #(.width_p(12)) dcsr_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(dcsr_n), + .data_o(dcsr_r) + ); + function automatic [3:0] sv2v_cast_4; + input reg [3:0] inp; + sv2v_cast_4 = inp; + endfunction + assign dcsr_lo = {16'h4000, dcsr_r[11], 1'b0, dcsr_r[11], dcsr_r[11], dcsr_r[8], 2'b00, sv2v_cast_4(dcsr_r[7-:4]), 1'b0, dcsr_r[1], 1'b0, dcsr_r[0], sv2v_cast_2(dcsr_r[3-:2])}; + assign dcsr_n = {dcsr_li[16], dcsr_li[14], dcsr_li[13], dcsr_li[12], sv2v_cast_4(dcsr_li[9-:4]), sv2v_cast_2(dcsr_li[1-:2]), dcsr_li[4], dcsr_li[2]}; + reg [63:0] dpc_li; + wire [63:0] dpc_lo; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1:0] dpc_n; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1:0] dpc_r; + bsg_dff_reset #(.width_p((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p))) dpc_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(dpc_n), + .data_o(dpc_r) + ); + assign dpc_lo = {{((64 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) > 0 ? 64 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) : 0) {dpc_r[(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1]}}, dpc_r[0+:(64 < (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) ? 64 : (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p))]}; + function automatic [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1:0] sv2v_cast_80FD0; + input reg [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1:0] inp; + sv2v_cast_80FD0 = inp; + endfunction + assign dpc_n = sv2v_cast_80FD0(dpc_li[0+:(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)]); + reg [63:0] dscratch0_li; + wire [63:0] dscratch0_lo; + wire [63:0] dscratch0_n; + wire [63:0] dscratch0_r; + bsg_dff_reset #(.width_p(64)) dscratch0_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(dscratch0_n), + .data_o(dscratch0_r) + ); + assign dscratch0_lo = dscratch0_r; + assign dscratch0_n = dscratch0_li[0+:64]; + reg [63:0] dscratch1_li; + wire [63:0] dscratch1_lo; + wire [63:0] dscratch1_n; + wire [63:0] dscratch1_r; + bsg_dff_reset #(.width_p(64)) dscratch1_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(dscratch1_n), + .data_o(dscratch1_r) + ); + assign dscratch1_lo = dscratch1_r; + assign dscratch1_n = dscratch1_li[0+:64]; + wire [63:0] mvendorid_lo = 64'h0000000000000000; + wire [63:0] marchid_lo = 13; + wire [63:0] mimpid_lo = 64'd3; + wire [63:0] mhartid_lo = cfg_bus_cast_i[core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))-:((core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))) >= (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))))) ? ((core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))) - (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))))) + 1 : ((lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))))) - (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))))) + 1)]; + reg [63:0] mstatus_li; + wire [63:0] mstatus_lo; + wire [14:0] mstatus_n; + wire [14:0] mstatus_r; + bsg_dff_reset #(.width_p(15)) mstatus_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mstatus_n), + .data_o(mstatus_r) + ); + assign mstatus_lo = {mstatus_r[8-:2] == 2'b11, 40'b0000000000000000000000000001010000000000, mstatus_r[14], mstatus_r[13], mstatus_r[12], mstatus_r[11], mstatus_r[10], mstatus_r[9], 2'b00, sv2v_cast_2(mstatus_r[8-:2]), sv2v_cast_2(mstatus_r[6-:2]), 2'b00, mstatus_r[4], mstatus_r[3], 1'b0, mstatus_r[2], 1'b0, mstatus_r[1], 1'b0, mstatus_r[0], 1'b0}; + assign mstatus_n = {mstatus_li[22], mstatus_li[21], mstatus_li[20], mstatus_li[19], mstatus_li[18], mstatus_li[17], sv2v_cast_2(mstatus_li[14-:2]), sv2v_cast_2(mstatus_li[12-:2]), mstatus_li[8], mstatus_li[7], mstatus_li[5], mstatus_li[3], mstatus_li[1]}; + wire [63:0] misa_lo = 64'h800000000014112f; + reg [63:0] medeleg_li; + wire [63:0] medeleg_lo; + wire [12:0] medeleg_n; + wire [12:0] medeleg_r; + bsg_dff_reset #(.width_p(13)) medeleg_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(medeleg_n), + .data_o(medeleg_r) + ); + function automatic [63:0] sv2v_cast_64; + input reg [63:0] inp; + sv2v_cast_64 = inp; + endfunction + assign medeleg_lo = sv2v_cast_64({medeleg_r[12], 1'b0, medeleg_r[11-:2], 2'b00, medeleg_r[9-:10]}); + assign medeleg_n = {medeleg_li[15], medeleg_li[13:12], medeleg_li[9:0]}; + reg [63:0] mideleg_li; + wire [63:0] mideleg_lo; + wire [2:0] mideleg_n; + wire [2:0] mideleg_r; + bsg_dff_reset #(.width_p(3)) mideleg_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mideleg_n), + .data_o(mideleg_r) + ); + assign mideleg_lo = {54'b000000000000000000000000000000000000000000000000000000, mideleg_r[2], 3'b000, mideleg_r[1], 3'b000, mideleg_r[0], 1'b0}; + assign mideleg_n = {mideleg_li[9], mideleg_li[5], mideleg_li[1]}; + reg [63:0] mie_li; + wire [63:0] mie_lo; + wire [5:0] mie_n; + wire [5:0] mie_r; + bsg_dff_reset #(.width_p(6)) mie_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mie_n), + .data_o(mie_r) + ); + assign mie_lo = {52'b0000000000000000000000000000000000000000000000000000, mie_r[5], 1'b0, mie_r[4], 1'b0, mie_r[3], 1'b0, mie_r[2], 1'b0, mie_r[1], 1'b0, mie_r[0], 1'b0}; + assign mie_n = {mie_li[11], mie_li[9], mie_li[7], mie_li[5], mie_li[3], mie_li[1]}; + reg [63:0] mtvec_li; + wire [63:0] mtvec_lo; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3:0] mtvec_n; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3:0] mtvec_r; + bsg_dff_reset #(.width_p((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)))) mtvec_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mtvec_n), + .data_o(mtvec_r) + ); + function automatic [61:0] sv2v_cast_62; + input reg [61:0] inp; + sv2v_cast_62 = inp; + endfunction + assign mtvec_lo = {sv2v_cast_62({{((62 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1)) > 0 ? 62 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1) : 0) {mtvec_r[((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) - (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) - (((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1) - 1))]}}, mtvec_r[((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) - ((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3)+:(62 < ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1) ? 62 : (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1)]}), 2'b00}; + function automatic [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3:0] sv2v_cast_A5C43; + input reg [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3:0] inp; + sv2v_cast_A5C43 = inp; + endfunction + assign mtvec_n = {sv2v_cast_A5C43(mtvec_li[2+:(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2])}; + reg [31:0] mcounteren_li; + wire [31:0] mcounteren_lo; + wire [1:0] mcounteren_n; + wire [1:0] mcounteren_r; + bsg_dff_reset #(.width_p(2)) mcounteren_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mcounteren_n), + .data_o(mcounteren_r) + ); + assign mcounteren_lo = {29'b00000000000000000000000000000, mcounteren_r[1], 1'b0, mcounteren_r[0]}; + assign mcounteren_n = {mcounteren_li[2], mcounteren_li[0]}; + reg [63:0] mscratch_li; + wire [63:0] mscratch_lo; + wire [63:0] mscratch_n; + wire [63:0] mscratch_r; + bsg_dff_reset #(.width_p(64)) mscratch_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mscratch_n), + .data_o(mscratch_r) + ); + assign mscratch_lo = mscratch_r; + assign mscratch_n = mscratch_li[0+:64]; + reg [63:0] mepc_li; + wire [63:0] mepc_lo; + wire [(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0:0] mepc_n; + wire [(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0:0] mepc_r; + bsg_dff_reset #(.width_p((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 0 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 1 : 1 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)))) mepc_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mepc_n), + .data_o(mepc_r) + ); + assign mepc_lo = {sv2v_cast_62({{((62 - ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1)) > 0 ? 62 - ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1) : 0) {mepc_r[(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) - (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) - (((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1) - 1)) : 1 + (1 - ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1)))]}}, mepc_r[(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) - ((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) : 2 - (62 < ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1) ? 62 : (((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1))+:(62 < ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1) ? 62 : (((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1)]}), compressed_support_p[1'b0] && mepc_r[0], 1'b0}; + function automatic [(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) - 1:0] sv2v_cast_BE66C; + input reg [(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) - 1:0] inp; + sv2v_cast_BE66C = inp; + endfunction + assign mepc_n = {sv2v_cast_BE66C({mepc_li[2+:62]}), mepc_li[1]}; + reg [63:0] mcause_li; + wire [63:0] mcause_lo; + wire [4:0] mcause_n; + wire [4:0] mcause_r; + bsg_dff_reset #(.width_p(5)) mcause_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mcause_n), + .data_o(mcause_r) + ); + function automatic [62:0] sv2v_cast_63; + input reg [62:0] inp; + sv2v_cast_63 = inp; + endfunction + assign mcause_lo = {mcause_r[4], sv2v_cast_63(mcause_r[3-:4])}; + assign mcause_n = {mcause_li[63], sv2v_cast_4(mcause_li[0+:4])}; + reg [63:0] mtval_li; + wire [63:0] mtval_lo; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1:0] mtval_n; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1:0] mtval_r; + bsg_dff_reset #(.width_p((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p))) mtval_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mtval_n), + .data_o(mtval_r) + ); + assign mtval_lo = {{((64 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) > 0 ? 64 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) : 0) {mtval_r[(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1]}}, mtval_r[0+:(64 < (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) ? 64 : (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p))]}; + assign mtval_n = sv2v_cast_80FD0(mtval_li[0+:(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)]); + reg [63:0] mip_li; + wire [63:0] mip_lo; + wire [5:0] mip_n; + wire [5:0] mip_r; + bsg_dff_reset #(.width_p(6)) mip_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mip_n), + .data_o(mip_r) + ); + assign mip_lo = {52'b0000000000000000000000000000000000000000000000000000, mip_r[5], 1'b0, mip_r[4], 1'b0, mip_r[3], 1'b0, mip_r[2], 1'b0, mip_r[1], 1'b0, mip_r[0], 1'b0}; + assign mip_n = {mip_li[11], mip_li[9], mip_li[7], mip_li[5], mip_li[3], mip_li[1]}; + reg [63:0] mcycle_li; + wire [63:0] mcycle_lo; + wire [47:0] mcycle_n; + wire [47:0] mcycle_r; + bsg_dff_reset #(.width_p(48)) mcycle_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mcycle_n), + .data_o(mcycle_r) + ); + assign mcycle_lo = sv2v_cast_64(mcycle_r); + function automatic [47:0] sv2v_cast_48; + input reg [47:0] inp; + sv2v_cast_48 = inp; + endfunction + assign mcycle_n = sv2v_cast_48(mcycle_li[0+:48]); + reg [63:0] minstret_li; + wire [63:0] minstret_lo; + wire [47:0] minstret_n; + wire [47:0] minstret_r; + bsg_dff_reset #(.width_p(48)) minstret_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(minstret_n), + .data_o(minstret_r) + ); + assign minstret_lo = sv2v_cast_64(minstret_r); + assign minstret_n = sv2v_cast_48(minstret_li[0+:48]); + reg [31:0] mcountinhibit_li; + wire [31:0] mcountinhibit_lo; + wire [1:0] mcountinhibit_n; + wire [1:0] mcountinhibit_r; + bsg_dff_reset #(.width_p(2)) mcountinhibit_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(mcountinhibit_n), + .data_o(mcountinhibit_r) + ); + assign mcountinhibit_lo = {29'b00000000000000000000000000000, mcountinhibit_r[1], 1'b0, mcountinhibit_r[0]}; + assign mcountinhibit_n = {mcountinhibit_li[2], mcountinhibit_li[0]}; + wire [63:0] sstatus_lo = mstatus_lo & sstatus_rmask_li; + wire [63:0] sedeleg_lo = 1'sb0; + wire [63:0] sideleg_lo = 1'sb0; + wire [63:0] sie_lo = mie_lo & sie_rwmask_li; + reg [63:0] stvec_li; + wire [63:0] stvec_lo; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3:0] stvec_n; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3:0] stvec_r; + bsg_dff_reset #(.width_p((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)))) stvec_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(stvec_n), + .data_o(stvec_r) + ); + assign stvec_lo = {sv2v_cast_62({{((62 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1)) > 0 ? 62 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1) : 0) {stvec_r[((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) - (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) - (((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1) - 1))]}}, stvec_r[((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) - ((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3)+:(62 < ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1) ? 62 : (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 3) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2 : 4 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) * 1)]}), 2'b00}; + assign stvec_n = {sv2v_cast_A5C43(stvec_li[2+:(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2])}; + reg [31:0] scounteren_li; + wire [31:0] scounteren_lo; + wire [1:0] scounteren_n; + wire [1:0] scounteren_r; + bsg_dff_reset #(.width_p(2)) scounteren_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(scounteren_n), + .data_o(scounteren_r) + ); + assign scounteren_lo = {29'b00000000000000000000000000000, scounteren_r[1], 1'b0, scounteren_r[0]}; + assign scounteren_n = {scounteren_li[2], scounteren_li[0]}; + reg [63:0] sscratch_li; + wire [63:0] sscratch_lo; + wire [63:0] sscratch_n; + wire [63:0] sscratch_r; + bsg_dff_reset #(.width_p(64)) sscratch_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(sscratch_n), + .data_o(sscratch_r) + ); + assign sscratch_lo = sscratch_r; + assign sscratch_n = sscratch_li[0+:64]; + reg [63:0] sepc_li; + wire [63:0] sepc_lo; + wire [(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0:0] sepc_n; + wire [(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0:0] sepc_r; + bsg_dff_reset #(.width_p((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 0 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 1 : 1 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)))) sepc_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(sepc_n), + .data_o(sepc_r) + ); + assign sepc_lo = {sv2v_cast_62({{((62 - ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1)) > 0 ? 62 - ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1) : 0) {sepc_r[(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) - (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) - (((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1) - 1)) : 1 + (1 - ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1)))]}}, sepc_r[(((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) - ((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) : 2 - (62 < ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1) ? 62 : (((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1))+:(62 < ((((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1) ? 62 : (((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0) >= 1 ? (((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0 : 2 - ((((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 2) >= 0 ? (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1 : 3 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) + 0)) * 1)]}), compressed_support_p[1'b0] && sepc_r[0], 1'b0}; + assign sepc_n = {sv2v_cast_BE66C({sepc_li[2+:62]}), sepc_li[1]}; + reg [63:0] scause_li; + wire [63:0] scause_lo; + wire [4:0] scause_n; + wire [4:0] scause_r; + bsg_dff_reset #(.width_p(5)) scause_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(scause_n), + .data_o(scause_r) + ); + assign scause_lo = {scause_r[4], sv2v_cast_63(scause_r[3-:4])}; + assign scause_n = {scause_li[63], sv2v_cast_4(scause_li[0+:4])}; + reg [63:0] stval_li; + wire [63:0] stval_lo; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1:0] stval_n; + wire [(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1:0] stval_r; + bsg_dff_reset #(.width_p((vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p))) stval_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(stval_n), + .data_o(stval_r) + ); + assign stval_lo = {{((64 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)) > 0 ? 64 - (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) : 0) {stval_r[(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) - 1]}}, stval_r[0+:(64 < (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p) ? 64 : (vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p))]}; + assign stval_n = sv2v_cast_80FD0(stval_li[0+:(vaddr_width_p > paddr_width_p ? vaddr_width_p : paddr_width_p)]); + wire [63:0] sip_lo = mip_lo & sip_rmask_li; + reg [63:0] satp_li; + wire [63:0] satp_lo; + wire [(1 + (paddr_width_p - bp_common_pkg_page_offset_width_gp)) - 1:0] satp_n; + wire [(1 + (paddr_width_p - bp_common_pkg_page_offset_width_gp)) - 1:0] satp_r; + bsg_dff_reset #(.width_p(1 + (paddr_width_p - bp_common_pkg_page_offset_width_gp))) satp_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(satp_n), + .data_o(satp_r) + ); + function automatic [43:0] sv2v_cast_44; + input reg [43:0] inp; + sv2v_cast_44 = inp; + endfunction + assign satp_lo = {sv2v_cast_4({satp_r[(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 0], 3'b000}), 16'b0000000000000000, sv2v_cast_44({16'h0000, satp_r[(paddr_width_p - bp_common_pkg_page_offset_width_gp) - 1-:paddr_width_p - bp_common_pkg_page_offset_width_gp]})}; + assign satp_n = {satp_li[63], satp_li[(paddr_width_p - bp_common_pkg_page_offset_width_gp) - 1:0]}; + reg [31:0] fcsr_li; + wire [31:0] fcsr_lo; + wire [7:0] fcsr_n; + wire [7:0] fcsr_r; + bsg_dff_reset #(.width_p(8)) fcsr_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(fcsr_n), + .data_o(fcsr_r) + ); + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + function automatic [4:0] sv2v_cast_5; + input reg [4:0] inp; + sv2v_cast_5 = inp; + endfunction + assign fcsr_lo = {24'b000000000000000000000000, sv2v_cast_3(fcsr_r[7-:3]), sv2v_cast_5(fcsr_r[4-:5])}; + assign fcsr_n = {sv2v_cast_3(fcsr_li[7-:3]), sv2v_cast_5(fcsr_li[4-:5])}; + wire [63:0] fflags_lo = fcsr_lo[4-:5]; + wire [63:0] frm_lo = fcsr_lo[7-:3]; + wire dgie = ~is_debug_mode; + wire mgie = ((~is_debug_mode & (mstatus_r[1] & is_m_mode)) | is_s_mode) | is_u_mode; + wire sgie = (~is_debug_mode & (mstatus_r[0] & is_s_mode)) | is_u_mode; + wire mti_v = mie_r[3] & mip_r[3]; + wire msi_v = mie_r[1] & mip_r[1]; + wire mei_v = mie_r[5] & mip_r[5]; + wire sti_v = mie_r[2] & mip_r[2]; + wire ssi_v = mie_r[0] & mip_r[0]; + wire sei_v = mie_r[4] & (mip_r[4] | s_external_irq_i); + wire [15:0] interrupt_icode_dec_li = {4'b0000, mei_v, 1'b0, sei_v, 1'b0, mti_v, 1'b0, sti_v, 1'b0, msi_v, 1'b0, ssi_v, 1'b0}; + assign irq_waiting_o = |interrupt_icode_dec_li; + wire [15:0] exception_dec_li; + assign exception_dec_li = {retire_pkt_cast_i[35], 1'b0, retire_pkt_cast_i[34], retire_pkt_cast_i[33], retire_pkt_cast_i[32], 1'b0, retire_pkt_cast_i[31], retire_pkt_cast_i[30], retire_pkt_cast_i[29], retire_pkt_cast_i[28], retire_pkt_cast_i[27], retire_pkt_cast_i[26], retire_pkt_cast_i[25], retire_pkt_cast_i[24], retire_pkt_cast_i[23], retire_pkt_cast_i[22]}; + wire [3:0] exception_ecode_li; + wire exception_ecode_v_li; + bsg_priority_encode #( + .width_p(16), + .lo_to_hi_p(1) + ) mcause_exception_enc( + .i(exception_dec_li), + .addr_o(exception_ecode_li), + .v_o(exception_ecode_v_li) + ); + wire d_interrupt_icode_v_li = debug_irq_i; + wire [3:0] m_interrupt_icode_li; + wire [3:0] s_interrupt_icode_li; + wire m_interrupt_icode_v_li; + wire s_interrupt_icode_v_li; + bsg_priority_encode #( + .width_p(16), + .lo_to_hi_p(1) + ) m_interrupt_enc( + .i(interrupt_icode_dec_li & ~mideleg_lo[0+:16]), + .addr_o(m_interrupt_icode_li), + .v_o(m_interrupt_icode_v_li) + ); + bsg_priority_encode #( + .width_p(16), + .lo_to_hi_p(1) + ) s_interrupt_enc( + .i(interrupt_icode_dec_li & mideleg_lo[0+:16]), + .addr_o(s_interrupt_icode_li), + .v_o(s_interrupt_icode_v_li) + ); + wire csr_w_v_li = retire_pkt_cast_i[2]; + localparam bp_common_pkg_rv64_reg_data_width_gp = 64; + wire [63:0] csr_data_li = retire_pkt_cast_i[98 + (fetch_ptr_p + 37)-:((98 + (fetch_ptr_p + 37)) >= (32 + (fetch_ptr_p + 38)) ? ((98 + (fetch_ptr_p + 37)) - (32 + (fetch_ptr_p + 38))) + 1 : ((32 + (fetch_ptr_p + 38)) - (98 + (fetch_ptr_p + 37))) + 1)]; + wire [11:0] csr_addr_li = retire_pkt_cast_i[32 + (fetch_ptr_p + 37)-:12]; + wire [2:0] csr_func_li = retire_pkt_cast_i[(32 + (fetch_ptr_p + 37)) - 17-:3]; + wire csr_fany_li = |{csr_addr_li == 12'h003, csr_addr_li == 12'h001, csr_addr_li == 12'h002}; + wire instr_fany_li = |{retire_pkt_cast_i[(32 + (fetch_ptr_p + 37)) - 25-:bp_common_pkg_rv64_opcode_width_gp] == 7'b0000111, retire_pkt_cast_i[(32 + (fetch_ptr_p + 37)) - 25-:bp_common_pkg_rv64_opcode_width_gp] == 7'b1000011, retire_pkt_cast_i[(32 + (fetch_ptr_p + 37)) - 25-:bp_common_pkg_rv64_opcode_width_gp] == 7'b1000111, retire_pkt_cast_i[(32 + (fetch_ptr_p + 37)) - 25-:bp_common_pkg_rv64_opcode_width_gp] == 7'b1001011, retire_pkt_cast_i[(32 + (fetch_ptr_p + 37)) - 25-:bp_common_pkg_rv64_opcode_width_gp] == 7'b1010011}; + reg enter_debug; + reg exit_debug; + bsg_dff_reset_set_clear #(.width_p(1)) debug_mode_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(enter_debug), + .clear_i(exit_debug), + .data_o(debug_mode_r) + ); + wire [vaddr_width_p - 1:0] apc_n; + wire [vaddr_width_p - 1:0] apc_r; + bsg_dff_reset #(.width_p(vaddr_width_p)) apc_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(apc_n), + .data_o(apc_r) + ); + wire [vaddr_width_p - 1:0] cfg_npc_r; + wire [vaddr_width_p - 1:0] cfg_npc_n = cfg_bus_cast_i[vaddr_width_p + (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))))-:((vaddr_width_p + (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))))) >= (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))))) ? ((vaddr_width_p + (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))))) - (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))))))) + 1 : ((core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))))) - (vaddr_width_p + (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))))) + 1)]; + bsg_dff #(.width_p(vaddr_width_p)) cfg_npc_reg( + .clk_i(clk_i), + .data_i(cfg_npc_n), + .data_o(cfg_npc_r) + ); + wire [vaddr_width_p - 1:0] debug_halt_pc = {cfg_npc_r[vaddr_width_p - 1:4], 4'b0000}; + wire [vaddr_width_p - 1:0] debug_resume_pc = {cfg_npc_r[vaddr_width_p - 1:4], 4'b0100}; + wire [vaddr_width_p - 1:0] debug_exception_pc = {cfg_npc_r[vaddr_width_p - 1:4], 4'b1000}; + wire ret_v = |{retire_pkt_cast_i[6], retire_pkt_cast_i[5], retire_pkt_cast_i[4]}; + wire [vaddr_width_p - 1:0] ret_pc = (retire_pkt_cast_i[4] ? sepc_lo : (retire_pkt_cast_i[5] ? mepc_lo : dpc_lo)); + wire [vaddr_width_p - 1:0] tvec_pc = (is_debug_mode ? debug_exception_pc : (priv_mode_n == 2'b01 ? {stvec_lo[63-:62], 2'b00} : {mtvec_lo[63-:62], 2'b00})); + wire [vaddr_width_p - 1:0] core_npc = (exception_v_lo | interrupt_v_lo ? tvec_pc : (ret_v ? ret_pc : (retire_pkt_cast_i[1 + (vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37))))] ? retire_pkt_cast_i[vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37)))-:((vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37)))) >= (vaddr_width_p + (98 + (fetch_ptr_p + 38))) ? ((vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37)))) - (vaddr_width_p + (98 + (fetch_ptr_p + 38)))) + 1 : ((vaddr_width_p + (98 + (fetch_ptr_p + 38))) - (vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37))))) + 1)] : apc_r))); + assign apc_n = (enter_debug | cfg_bus_cast_i[1 + (vaddr_width_p + (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))))] ? debug_halt_pc : core_npc); + assign translation_en_n = (priv_mode_n < 2'b11) & (satp_li[63-:4] == 4'd8); + bsg_dff_reset #( + .width_p(3), + .reset_val_p(3'b011) + ) priv_mode_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i({translation_en_n, priv_mode_n}), + .data_o({translation_en_r, priv_mode_r}) + ); + assign sstatus_wmask_li = 64'b0000000000000000000000000000000000000000000011000110000100100010; + assign sstatus_rmask_li = 64'b1000000000000000000000000000001100000000000011000110000100100010; + assign sie_rwmask_li = mideleg_lo; + assign sip_rmask_li = mideleg_lo; + assign sip_wmask_li = {62'b00000000000000000000000000000000000000000000000000000000000000, mideleg_lo[1], 1'b0}; + always @(*) begin + if (_sv2v_0) + ; + csr_r_illegal_o = 1'b0; + (* full_case, parallel_case *) + casez (csr_r_addr_i) + 12'h001: csr_data_lo = fcsr_lo[4-:5]; + 12'h002: csr_data_lo = fcsr_lo[7-:3]; + 12'h003: csr_data_lo = fcsr_lo; + 12'hc00: csr_data_lo = mcycle_lo; + 12'hc02: csr_data_lo = minstret_lo; + 12'h100: csr_data_lo = sstatus_lo; + 12'h102: csr_data_lo = sedeleg_lo; + 12'h103: csr_data_lo = sideleg_lo; + 12'h104: csr_data_lo = sie_lo; + 12'h105: csr_data_lo = stvec_lo; + 12'h106: csr_data_lo = scounteren_lo; + 12'h140: csr_data_lo = sscratch_lo; + 12'h141: csr_data_lo = sepc_lo; + 12'h142: csr_data_lo = scause_lo; + 12'h143: csr_data_lo = stval_lo; + 12'h144: csr_data_lo = sip_lo; + 12'h180: csr_data_lo = satp_lo; + 12'hf11: csr_data_lo = mvendorid_lo; + 12'hf12: csr_data_lo = marchid_lo; + 12'hf13: csr_data_lo = mimpid_lo; + 12'hf14: csr_data_lo = mhartid_lo; + 12'h300: csr_data_lo = mstatus_lo; + 12'h301: csr_data_lo = misa_lo; + 12'h302: csr_data_lo = medeleg_lo; + 12'h303: csr_data_lo = mideleg_lo; + 12'h304: csr_data_lo = mie_lo; + 12'h305: csr_data_lo = mtvec_lo; + 12'h306: csr_data_lo = mcounteren_lo; + 12'h344: csr_data_lo = mip_lo; + 12'h340: csr_data_lo = mscratch_lo; + 12'h341: csr_data_lo = mepc_lo; + 12'h342: csr_data_lo = mcause_lo; + 12'h343: csr_data_lo = mtval_lo; + 12'hb00: csr_data_lo = mcycle_lo; + 12'hb02: csr_data_lo = minstret_lo; + 12'h320: csr_data_lo = mcountinhibit_lo; + 12'h7b0: csr_data_lo = dcsr_lo; + 12'h7b1: csr_data_lo = dpc_lo; + 12'h7b2: csr_data_lo = dscratch0_lo; + 12'h7b3: csr_data_lo = dscratch1_lo; + default: begin + csr_data_lo = 1'sb0; + csr_r_illegal_o = csr_r_v_i; + end + endcase + end + always @(*) begin + if (_sv2v_0) + ; + priv_mode_n = priv_mode_r; + fcsr_li = fcsr_lo; + stvec_li = stvec_lo; + scounteren_li = scounteren_lo; + sscratch_li = sscratch_lo; + sepc_li = sepc_lo; + scause_li = scause_lo; + stval_li = stval_lo; + satp_li = satp_lo; + mstatus_li = mstatus_lo; + medeleg_li = medeleg_lo; + mideleg_li = mideleg_lo; + mie_li = mie_lo; + mtvec_li = mtvec_lo; + mcounteren_li = mcounteren_lo; + mscratch_li = mscratch_lo; + mepc_li = mepc_lo; + mcause_li = mcause_lo; + mtval_li = mtval_lo; + mip_li = mip_lo; + mcycle_li = mcycle_lo; + minstret_li = minstret_lo; + mcountinhibit_li = mcountinhibit_lo; + dcsr_li = dcsr_lo; + dpc_li = dpc_lo; + dscratch0_li = dscratch0_lo; + dscratch1_li = dscratch1_lo; + enter_debug = 1'sb0; + exit_debug = 1'sb0; + exception_v_lo = 1'sb0; + interrupt_v_lo = 1'sb0; + (* full_case, parallel_case *) + casez ({csr_w_v_li, csr_addr_li}) + 13'h1001: fcsr_li = {24'b000000000000000000000000, sv2v_cast_3(fcsr_lo[7-:3]), sv2v_cast_5(csr_data_li)}; + 13'h1002: fcsr_li = {24'b000000000000000000000000, sv2v_cast_3(csr_data_li), sv2v_cast_5(fcsr_lo[4-:5])}; + 13'h1003: fcsr_li = csr_data_li; + 13'h1c02: minstret_li = csr_data_li; + 13'h1100: mstatus_li = (mstatus_lo & ~sstatus_wmask_li) | (csr_data_li & sstatus_wmask_li); + 13'h1102: + ; + 13'h1103: + ; + 13'h1104: mie_li = (mie_lo & ~sie_rwmask_li) | (csr_data_li & sie_rwmask_li); + 13'h1105: stvec_li = csr_data_li; + 13'h1106: scounteren_li = csr_data_li; + 13'h1140: sscratch_li = csr_data_li; + 13'h1141: sepc_li = csr_data_li; + 13'h1142: scause_li = csr_data_li; + 13'h1143: stval_li = csr_data_li; + 13'h1144: mip_li = (mip_lo & ~sip_wmask_li) | (csr_data_li & sip_wmask_li); + 13'h1180: satp_li = csr_data_li; + 13'h1300: mstatus_li = csr_data_li; + 13'h1301: + ; + 13'h1302: medeleg_li = csr_data_li; + 13'h1303: mideleg_li = csr_data_li; + 13'h1304: mie_li = csr_data_li; + 13'h1305: mtvec_li = csr_data_li; + 13'h1306: mcounteren_li = csr_data_li; + 13'h1344: mip_li = csr_data_li; + 13'h1340: mscratch_li = csr_data_li; + 13'h1341: mepc_li = csr_data_li; + 13'h1342: mcause_li = csr_data_li; + 13'h1343: mtval_li = csr_data_li; + 13'h1b00: mcycle_li = csr_data_li; + 13'h1b02: minstret_li = csr_data_li; + 13'h1320: mcountinhibit_li = csr_data_li; + 13'h17b0: dcsr_li = csr_data_li; + 13'h17b1: dpc_li = csr_data_li; + 13'h17b2: dscratch0_li = csr_data_li; + 13'h17b3: dscratch1_li = csr_data_li; + default: + ; + endcase + if (retire_pkt_cast_i[13]) begin + if (m_interrupt_icode_v_li & mgie) begin + priv_mode_n = 2'b11; + mstatus_li[12-:2] = priv_mode_r; + mstatus_li[7] = mstatus_lo[3]; + mstatus_li[3] = 1'b0; + mepc_li = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {apc_r[vaddr_width_p - 1]}}, apc_r[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + mtval_li = 1'sb0; + mcause_li[63] = 1'b1; + mcause_li[62-:63] = m_interrupt_icode_li; + interrupt_v_lo = 1'b1; + end + else if (s_interrupt_icode_v_li & sgie) begin + priv_mode_n = 2'b01; + mstatus_li[8] = priv_mode_r; + mstatus_li[5] = mstatus_lo[1]; + mstatus_li[1] = 1'b0; + sepc_li = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {apc_r[vaddr_width_p - 1]}}, apc_r[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + stval_li = 1'sb0; + scause_li[63] = 1'b1; + scause_li[62-:63] = s_interrupt_icode_li; + interrupt_v_lo = 1'b1; + end + end + else if (exception_ecode_v_li) begin + if (is_debug_mode) + exception_v_lo = 1'b1; + else if (medeleg_lo[exception_ecode_li] & ~is_m_mode) begin + priv_mode_n = 2'b01; + mstatus_li[8] = priv_mode_r; + mstatus_li[5] = mstatus_lo[1]; + mstatus_li[1] = 1'b0; + sepc_li = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {apc_r[vaddr_width_p - 1]}}, apc_r[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + stval_li = (exception_ecode_li == 2 ? retire_pkt_cast_i[32 + (fetch_ptr_p + 37)-:((32 + (fetch_ptr_p + 37)) >= (fetch_ptr_p + 38) ? ((32 + (fetch_ptr_p + 37)) - (fetch_ptr_p + 38)) + 1 : ((fetch_ptr_p + 38) - (32 + (fetch_ptr_p + 37))) + 1)] : {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {retire_pkt_cast_i[(vaddr_width_p + (98 + (fetch_ptr_p + 37))) - ((vaddr_width_p - 1) - (vaddr_width_p - 1))]}}, retire_pkt_cast_i[(vaddr_width_p + (98 + (fetch_ptr_p + 37))) - (vaddr_width_p - 1)+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}); + scause_li[63] = 1'b0; + scause_li[62-:63] = exception_ecode_li; + exception_v_lo = 1'b1; + end + else begin + priv_mode_n = 2'b11; + mstatus_li[12-:2] = priv_mode_r; + mstatus_li[7] = mstatus_lo[3]; + mstatus_li[3] = 1'b0; + mepc_li = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {apc_r[vaddr_width_p - 1]}}, apc_r[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + mtval_li = (exception_ecode_li == 2 ? retire_pkt_cast_i[32 + (fetch_ptr_p + 37)-:((32 + (fetch_ptr_p + 37)) >= (fetch_ptr_p + 38) ? ((32 + (fetch_ptr_p + 37)) - (fetch_ptr_p + 38)) + 1 : ((fetch_ptr_p + 38) - (32 + (fetch_ptr_p + 37))) + 1)] : {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {retire_pkt_cast_i[(vaddr_width_p + (98 + (fetch_ptr_p + 37))) - ((vaddr_width_p - 1) - (vaddr_width_p - 1))]}}, retire_pkt_cast_i[(vaddr_width_p + (98 + (fetch_ptr_p + 37))) - (vaddr_width_p - 1)+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}); + mcause_li[63] = 1'b0; + mcause_li[62-:63] = exception_ecode_li; + exception_v_lo = 1'b1; + end + end + if (is_debug_mode) + enter_debug = retire_pkt_cast_i[7]; + else if ((retire_pkt_cast_i[13] & d_interrupt_icode_v_li) & dgie) begin + enter_debug = 1'b1; + dpc_li = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {apc_r[vaddr_width_p - 1]}}, apc_r[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + dcsr_li[9-:4] = 3; + dcsr_li[1-:2] = priv_mode_r; + end + else if (retire_pkt_cast_i[7]) begin + enter_debug = 1'b1; + dpc_li = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {apc_r[vaddr_width_p - 1]}}, apc_r[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + dcsr_li[9-:4] = 1; + dcsr_li[1-:2] = priv_mode_r; + end + else if (retire_pkt_cast_i[2 + (vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37))))] & dcsr_lo[2]) begin + enter_debug = 1'b1; + dpc_li = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {core_npc[vaddr_width_p - 1]}}, core_npc[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + dcsr_li[9-:4] = 4; + dcsr_li[1-:2] = priv_mode_r; + end + if (retire_pkt_cast_i[6]) begin + exit_debug = 1'b1; + priv_mode_n = dcsr_lo[1-:2]; + end + if (retire_pkt_cast_i[5]) begin + priv_mode_n = mstatus_lo[12-:2]; + mstatus_li[12-:2] = 1'b0; + mstatus_li[7] = 1'b1; + mstatus_li[3] = mstatus_lo[7]; + mstatus_li[17] = (priv_mode_n < 2'b11 ? 1'b0 : mstatus_li[17]); + end + if (retire_pkt_cast_i[4]) begin + priv_mode_n = {1'b0, mstatus_lo[8]}; + mstatus_li[8] = 1'b0; + mstatus_li[5] = 1'b1; + mstatus_li[1] = mstatus_lo[5]; + mstatus_li[17] = (priv_mode_n < 2'b11 ? 1'b0 : mstatus_li[17]); + end + mip_li[7] = timer_irq_i; + mip_li[3] = software_irq_i; + mip_li[11] = m_external_irq_i; + if (~(csr_w_v_li & |{csr_addr_li == 12'h001, csr_addr_li == 12'h003})) + fcsr_li[4-:5] = fcsr_li[4-:5] | fflags_acc_i; + if (~(csr_w_v_li & |{csr_addr_li == 12'hc00, csr_addr_li == 12'hb00}) & ~mcountinhibit_lo[0]) + mcycle_li = mcycle_lo + 1'b1; + if (~(csr_w_v_li & |{csr_addr_li == 12'hc02, csr_addr_li == 12'hb02}) & ~mcountinhibit_lo[2]) + minstret_li = minstret_lo + retire_pkt_cast_i[1 + (vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37))))]; + mstatus_li[14-:2] = mstatus_li[14-:2] | {2 {csr_w_v_li & csr_fany_li}}; + mstatus_li[14-:2] = mstatus_li[14-:2] | {2 {retire_pkt_cast_i[1 + (vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37))))] & instr_fany_li}}; + end + assign irq_pending_o = (~dcsr_lo[2] | dcsr_lo[12]) & (((d_interrupt_icode_v_li & dgie) | (m_interrupt_icode_v_li & mgie)) | (s_interrupt_icode_v_li & sgie)); + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (csr_addr_li) + 12'h144: csr_r_data_o = csr_data_lo | ((s_external_irq_i & sip_rmask_li) << 9); + 12'h344: csr_r_data_o = csr_data_lo | (s_external_irq_i << 9); + 12'h001, 12'h003: csr_r_data_o = csr_data_lo | fflags_acc_i; + default: csr_r_data_o = csr_data_lo; + endcase + end + assign commit_pkt_cast_o[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))] = |{retire_pkt_cast_i[10-:9], retire_pkt_cast_i[35-:25]}; + assign commit_pkt_cast_o[2 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))] = retire_pkt_cast_i[2 + (vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37))))] & ~|retire_pkt_cast_i[35-:25]; + assign commit_pkt_cast_o[1 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))] = retire_pkt_cast_i[1 + (vaddr_width_p + (vaddr_width_p + (98 + (fetch_ptr_p + 37))))]; + assign commit_pkt_cast_o[2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))-:((2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))))) >= (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21))))) ? ((2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))) - (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))))) + 1 : ((vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))))) - (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))) + 1)] = retire_pkt_cast_i[37-:2]; + assign commit_pkt_cast_o[fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))-:((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))))))) >= (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)))))) ? ((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))) - (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))))))) + 1 : ((2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))))) - (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))) + 1)] = retire_pkt_cast_i[fetch_ptr_p + 37-:((fetch_ptr_p + 37) >= 38 ? fetch_ptr_p + 0 : 39 - (fetch_ptr_p + 37))]; + assign commit_pkt_cast_o[vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))-:((vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))))) >= (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)))) ? ((vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))) - (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))))) + 1 : ((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))) - (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))) + 1)] = apc_r; + assign commit_pkt_cast_o[vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))-:((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))) >= (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21))) ? ((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))) + 1 : ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) - (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))) + 1)] = apc_n; + assign commit_pkt_cast_o[vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))-:((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))) >= (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)) ? ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))) - (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) + 1 : ((32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) + 1)] = retire_pkt_cast_i[vaddr_width_p + (98 + (fetch_ptr_p + 37))-:((vaddr_width_p + (98 + (fetch_ptr_p + 37))) >= (98 + (fetch_ptr_p + 38)) ? ((vaddr_width_p + (98 + (fetch_ptr_p + 37))) - (98 + (fetch_ptr_p + 38))) + 1 : ((98 + (fetch_ptr_p + 38)) - (vaddr_width_p + (98 + (fetch_ptr_p + 37)))) + 1)]; + assign commit_pkt_cast_o[32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)-:((32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)) >= (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21) ? ((32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)) - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)) + 1 : ((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21) - (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))) + 1)] = retire_pkt_cast_i[32 + (fetch_ptr_p + 37)-:((32 + (fetch_ptr_p + 37)) >= (fetch_ptr_p + 38) ? ((32 + (fetch_ptr_p + 37)) - (fetch_ptr_p + 38)) + 1 : ((fetch_ptr_p + 38) - (32 + (fetch_ptr_p + 37))) + 1)]; + assign commit_pkt_cast_o[((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20-:((((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20) >= 21 ? ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 0 : 22 - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))] = retire_pkt_cast_i[98 + (fetch_ptr_p + 37)-:((98 + (fetch_ptr_p + 37)) >= (32 + (fetch_ptr_p + 38)) ? ((98 + (fetch_ptr_p + 37)) - (32 + (fetch_ptr_p + 38))) + 1 : ((32 + (fetch_ptr_p + 38)) - (98 + (fetch_ptr_p + 37))) + 1)]; + assign commit_pkt_cast_o[20-:2] = priv_mode_n; + assign commit_pkt_cast_o[18] = translation_en_n; + assign commit_pkt_cast_o[17] = exception_v_lo; + assign commit_pkt_cast_o[16] = interrupt_v_lo | enter_debug; + assign commit_pkt_cast_o[13] = retire_pkt_cast_i[9]; + assign commit_pkt_cast_o[12] = retire_pkt_cast_i[8]; + assign commit_pkt_cast_o[10] = retire_pkt_cast_i[3]; + assign commit_pkt_cast_o[14] = ret_v; + assign commit_pkt_cast_o[11] = retire_pkt_cast_i[2]; + assign commit_pkt_cast_o[15] = retire_pkt_cast_i[21]; + assign commit_pkt_cast_o[9] = retire_pkt_cast_i[20]; + assign commit_pkt_cast_o[8] = retire_pkt_cast_i[19]; + assign commit_pkt_cast_o[7] = retire_pkt_cast_i[16]; + assign commit_pkt_cast_o[6] = retire_pkt_cast_i[17]; + assign commit_pkt_cast_o[4] = retire_pkt_cast_i[18]; + assign commit_pkt_cast_o[5] = retire_pkt_cast_i[10]; + assign commit_pkt_cast_o[3] = retire_pkt_cast_i[15]; + assign commit_pkt_cast_o[2] = retire_pkt_cast_i[14]; + assign commit_pkt_cast_o[1] = retire_pkt_cast_i[1]; + assign commit_pkt_cast_o[0] = retire_pkt_cast_i[0]; + assign trans_info_cast_o[bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2)-:((paddr_width_p - 8) >= (paddr_width_p - 9) ? ((bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2)) - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 3)) + 1 : (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 3) - (bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2))) + 1)] = priv_mode_r; + assign trans_info_cast_o[(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2-:((paddr_width_p - 10) >= 3 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 0 : 4 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2))] = satp_lo[43-:44]; + assign trans_info_cast_o[2] = translation_en_r | ((((~is_debug_mode | dcsr_lo[4]) & mstatus_lo[17]) & (mstatus_lo[12-:2] < 2'b11)) & (satp_lo[63-:4] == 4'd8)); + assign trans_info_cast_o[1] = mstatus_lo[18]; + assign trans_info_cast_o[0] = mstatus_lo[19]; + assign decode_info_cast_o[10] = is_m_mode; + assign decode_info_cast_o[11] = is_s_mode; + assign decode_info_cast_o[12] = is_u_mode; + assign decode_info_cast_o[9] = debug_mode_r; + assign decode_info_cast_o[8] = mstatus_lo[22]; + assign decode_info_cast_o[7] = mstatus_lo[21]; + assign decode_info_cast_o[6] = mstatus_lo[20]; + assign decode_info_cast_o[5] = dcsr_lo[16]; + assign decode_info_cast_o[4] = dcsr_lo[14]; + assign decode_info_cast_o[3] = dcsr_lo[13]; + assign decode_info_cast_o[2] = mstatus_lo[14-:2] != 2'b00; + assign decode_info_cast_o[1] = (is_m_mode | (is_s_mode & mcounteren_lo[0])) | (is_u_mode & scounteren_lo[0]); + assign decode_info_cast_o[0] = (is_m_mode | (is_m_mode & mcounteren_lo[2])) | (is_u_mode & mcounteren_lo[2]); + assign frm_dyn_o = sv2v_cast_3(fcsr_lo[7-:3]); + initial _sv2v_0 = 0; +endmodule +module bp_be_fp_box ( + ieee_i, + tag_i, + reg_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input [63:0] ieee_i; + input [0:0] tag_i; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + output wire [65:0] reg_o; + wire [65:0] reg_cast_o; + assign reg_o = reg_cast_o; + wire [0:0] control_li = 1'b1; + localparam bp_be_pkg_sp_exp_width_gp = 8; + localparam bp_be_pkg_sp_sig_width_gp = 24; + wire [32:0] in_sp_rec_li; + localparam bp_be_pkg_sp_float_width_gp = 32; + wire [31:0] in_sp_li = ieee_i[0+:bp_be_pkg_sp_float_width_gp]; + fNToRecFN #( + .expWidth(bp_be_pkg_sp_exp_width_gp), + .sigWidth(bp_be_pkg_sp_sig_width_gp) + ) in32_rec( + .in(in_sp_li), + .out(in_sp_rec_li) + ); + wire [64:0] in_dp_rec_li; + localparam bp_be_pkg_dp_float_width_gp = 64; + wire [63:0] in_dp_li = ieee_i[0+:bp_be_pkg_dp_float_width_gp]; + fNToRecFN #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp) + ) in64_rec( + .in(in_dp_li), + .out(in_dp_rec_li) + ); + localparam bias_adj_lp = 1792; + wire [32:0] sp_rec; + wire [64:0] sp2dp_rec; + assign sp_rec = in_sp_rec_li; + wire [bp_be_pkg_dp_exp_width_gp:0] adjusted_exp = sp_rec[31-:9] + bias_adj_lp; + wire [2:0] exp_code = sp_rec[31-:3]; + wire special = (exp_code == {3 {1'sb0}}) || (exp_code >= 3'd6); + function automatic [11:0] sv2v_cast_93245; + input reg [11:0] inp; + sv2v_cast_93245 = inp; + endfunction + function automatic [51:0] sv2v_cast_9FC59; + input reg [51:0] inp; + sv2v_cast_9FC59 = inp; + endfunction + assign sp2dp_rec = {sp_rec[32], sv2v_cast_93245((special ? {exp_code, adjusted_exp[0+:9]} : adjusted_exp)), sv2v_cast_9FC59({sp_rec[22-:23], 29'sd0})}; + localparam bp_common_pkg_word_width_gp = 32; + wire nanbox_v_li = &ieee_i[bp_common_pkg_word_width_gp+:bp_common_pkg_word_width_gp]; + wire encode_as_sp = nanbox_v_li || (tag_i == 1'b1); + wire [65:0] reg32; + wire [65:0] reg64; + function automatic [64:0] sv2v_cast_8BD00; + input reg [64:0] inp; + sv2v_cast_8BD00 = inp; + endfunction + assign reg32 = {1'b1, sv2v_cast_8BD00(sp2dp_rec)}; + assign reg64 = {1'b0, sv2v_cast_8BD00(in_dp_rec_li)}; + assign reg_cast_o = (encode_as_sp ? reg32 : reg64); +endmodule +module bp_be_fp_rebox ( + raw_i, + tag_i, + frm_i, + invalid_exc_i, + infinite_exc_i, + reg_o, + fflags_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dp_raw_width_gp = 75; + input [74:0] raw_i; + input [0:0] tag_i; + input [2:0] frm_i; + input invalid_exc_i; + input infinite_exc_i; + localparam bp_be_pkg_dpath_width_gp = 66; + output wire [65:0] reg_o; + output wire [4:0] fflags_o; + wire [74:0] raw_cast_i; + assign raw_cast_i = raw_i; + wire [65:0] reg_cast_o; + assign reg_o = reg_cast_o; + wire [0:0] control_li = 1'b1; + localparam bp_be_pkg_dp_rec_width_gp = 65; + wire [64:0] result_dp; + wire [64:0] result_sp; + wire [4:0] fflags_dp; + wire [4:0] fflags_sp; + localparam bp_be_pkg_sp_exp_width_gp = 8; + localparam bp_be_pkg_sp_sig_width_gp = 24; + roundRawFNtoRecFN_mixed #( + .fullExpWidth(bp_be_pkg_dp_exp_width_gp), + .fullSigWidth(bp_be_pkg_dp_sig_width_gp), + .midExpWidth(bp_be_pkg_sp_exp_width_gp), + .midSigWidth(bp_be_pkg_sp_sig_width_gp), + .outExpWidth(bp_be_pkg_dp_exp_width_gp), + .outSigWidth(bp_be_pkg_dp_sig_width_gp) + ) round_mixed( + .control(control_li), + .invalidExc(invalid_exc_i), + .infiniteExc(infinite_exc_i), + .in_isNaN(raw_cast_i[74]), + .in_isInf(raw_cast_i[73]), + .in_isZero(raw_cast_i[72]), + .in_sign(raw_cast_i[69]), + .in_sExp(raw_cast_i[68-:13]), + .in_sig(raw_cast_i[55-:56]), + .roundingMode(frm_i), + .fullOut(result_dp), + .fullExceptionFlags(fflags_dp), + .midOut(result_sp), + .midExceptionFlags(fflags_sp) + ); + wire [65:0] sp_reg_lo; + wire [65:0] dp_reg_lo; + wire [4:0] fflags_lo; + function automatic [64:0] sv2v_cast_8BD00; + input reg [64:0] inp; + sv2v_cast_8BD00 = inp; + endfunction + assign sp_reg_lo = {1'b1, sv2v_cast_8BD00(result_sp)}; + assign dp_reg_lo = {1'b0, sv2v_cast_8BD00(result_dp)}; + assign reg_cast_o = (tag_i == 1'b1 ? sp_reg_lo : dp_reg_lo); + assign fflags_o = (tag_i == 1'b1 ? fflags_sp : fflags_dp); +endmodule +module bp_be_fp_unbox ( + reg_i, + tag_i, + raw_i, + val_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + input [65:0] reg_i; + input [0:0] tag_i; + input raw_i; + localparam bp_be_pkg_dp_rec_width_gp = 65; + output wire [64:0] val_o; + wire [65:0] reg_cast_i; + assign reg_cast_i = reg_i; + wire [0:0] control_li = 1'b1; + localparam bp_be_pkg_sp_exp_width_gp = 8; + localparam bias_adj_lp = -1792; + wire [64:0] dp_rec; + localparam bp_be_pkg_sp_sig_width_gp = 24; + wire [32:0] dp2sp_rec_unsafe; + assign dp_rec = reg_cast_i[64-:65]; + wire [bp_be_pkg_sp_exp_width_gp:0] adjusted_exp = dp_rec[63-:12] + bias_adj_lp; + wire [2:0] exp_code = dp_rec[63-:3]; + wire special = (exp_code == {3 {1'sb0}}) || (exp_code >= 3'd6); + function automatic [8:0] sv2v_cast_C32A2; + input reg [8:0] inp; + sv2v_cast_C32A2 = inp; + endfunction + function automatic [22:0] sv2v_cast_DA4AE; + input reg [22:0] inp; + sv2v_cast_DA4AE = inp; + endfunction + assign dp2sp_rec_unsafe = {dp_rec[64], sv2v_cast_C32A2((special ? {exp_code, adjusted_exp[0+:6]} : adjusted_exp)), sv2v_cast_DA4AE(dp_rec[51:29])}; + localparam bp_common_pkg_word_width_gp = 32; + wire [31:0] dp2sp_raw_lo; + recFNToFN #( + .expWidth(bp_be_pkg_sp_exp_width_gp), + .sigWidth(bp_be_pkg_sp_sig_width_gp) + ) out_sp_rec( + .in(dp2sp_rec_unsafe), + .out(dp2sp_raw_lo) + ); + wire [63:0] sp_raw_lo = {{bp_common_pkg_word_width_gp {1'b1}}, dp2sp_raw_lo}; + wire [63:0] dp_raw_lo; + recFNToFN #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp) + ) out_dp_rec( + .in(dp_rec), + .out(dp_raw_lo) + ); + localparam [64:0] bp_be_pkg_dp_canonical_rec = 65'h0e008000000000000; + assign val_o = (raw_i ? (reg_cast_i[65] == 1'b0 ? dp_raw_lo : sp_raw_lo) : (reg_cast_i[65] != tag_i ? bp_be_pkg_dp_canonical_rec : dp_rec)); +endmodule +module bp_be_int_unbox ( + reg_i, + tag_i, + unsigned_i, + val_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + input [65:0] reg_i; + input [1:0] tag_i; + input unsigned_i; + localparam bp_be_pkg_int_rec_width_gp = 65; + output reg [64:0] val_o; + wire [65:0] reg_cast_i; + assign reg_cast_i = reg_i; + wire [63:0] val = reg_cast_i[63-:bp_common_pkg_dword_width_gp]; + reg [63:0] raw; + always @(*) begin + if (_sv2v_0) + ; + case (reg_cast_i[65-:2]) + 2'b11: raw = {{56 {val[63]}}, val[0+:8]}; + 2'b10: raw = {{48 {val[63]}}, val[0+:16]}; + 2'b01: raw = {{32 {val[63]}}, val[0+:32]}; + default: raw = {val[0+:64]}; + endcase + end + wire sigbox = tag_i >= reg_cast_i[65-:2]; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({unsigned_i, sigbox, tag_i}) + 4'b1z00: val_o = {1'b0, raw[0+:64]}; + 4'b1z01: val_o = {{33 {1'b0}}, raw[0+:32]}; + 4'b1z10: val_o = {{49 {1'b0}}, raw[0+:16]}; + 4'b1z11: val_o = {{57 {1'b0}}, raw[0+:8]}; + 4'b0100: val_o = {raw[63], raw[0+:64]}; + 4'b0101: val_o = {{33 {raw[31]}}, raw[0+:32]}; + 4'b0110: val_o = {{49 {raw[15]}}, raw[0+:16]}; + 4'b0111: val_o = {{57 {raw[7]}}, raw[0+:8]}; + 4'b0000: val_o = {raw[63], raw[0+:64]}; + 4'b0001: val_o = {{33 {raw[63]}}, raw[0+:32]}; + 4'b0010: val_o = {{49 {raw[63]}}, raw[0+:16]}; + 4'b0011: val_o = {{57 {raw[63]}}, raw[0+:8]}; + default: + ; + endcase + end + initial _sv2v_0 = 0; +endmodule +module bp_be_int_box ( + raw_i, + tag_i, + unsigned_i, + reg_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input [63:0] raw_i; + input [1:0] tag_i; + input unsigned_i; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + output wire [65:0] reg_o; + reg [65:0] reg_cast_o; + assign reg_o = reg_cast_o; + reg sig; + always @(*) begin + if (_sv2v_0) + ; + case (tag_i) + 2'b11: sig = raw_i[7]; + 2'b10: sig = raw_i[15]; + 2'b01: sig = raw_i[31]; + default: sig = raw_i[63]; + endcase + end + always @(*) begin + if (_sv2v_0) + ; + reg_cast_o[65-:2] = tag_i; + reg_cast_o[63-:bp_common_pkg_dword_width_gp] = raw_i; + if (tag_i != 2'b00) + reg_cast_o[63] = sig & ~unsigned_i; + end + initial _sv2v_0 = 0; +endmodule +module bp_be_pipe_int ( + clk_i, + reset_i, + en_i, + reservation_i, + flush_i, + data_o, + v_o, + branch_o, + btaken_o, + npc_o, + instr_misaligned_v_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + input clk_i; + input reset_i; + input en_i; + input [reservation_width_lp - 1:0] reservation_i; + input flush_i; + output wire [65:0] data_o; + output wire v_o; + output wire branch_o; + output wire btaken_o; + output wire [vaddr_width_p - 1:0] npc_o; + output wire instr_misaligned_v_o; + wire unused = &{clk_i, reset_i, flush_i}; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] reservation; + wire [53:0] decode; + wire [31:0] instr; + assign reservation = reservation_i; + assign decode = reservation[54 + (fetch_ptr_p + 391)-:((54 + (fetch_ptr_p + 391)) >= (fetch_ptr_p + 392) ? ((54 + (fetch_ptr_p + 391)) - (fetch_ptr_p + 392)) + 1 : ((fetch_ptr_p + 392) - (54 + (fetch_ptr_p + 391))) + 1)]; + assign instr = reservation[86 + (fetch_ptr_p + 391)-:((86 + (fetch_ptr_p + 391)) >= (54 + (fetch_ptr_p + 392)) ? ((86 + (fetch_ptr_p + 391)) - (54 + (fetch_ptr_p + 392))) + 1 : ((54 + (fetch_ptr_p + 392)) - (86 + (fetch_ptr_p + 391))) + 1)]; + wire [vaddr_width_p - 1:0] pc = reservation[vaddr_width_p + (86 + (fetch_ptr_p + 391))-:((vaddr_width_p + (86 + (fetch_ptr_p + 391))) >= (86 + (fetch_ptr_p + 392)) ? ((vaddr_width_p + (86 + (fetch_ptr_p + 391))) - (86 + (fetch_ptr_p + 392))) + 1 : ((86 + (fetch_ptr_p + 392)) - (vaddr_width_p + (86 + (fetch_ptr_p + 391)))) + 1)]; + wire [64:0] rs1 = reservation[389-:65]; + wire [64:0] rs2 = reservation[324-:65]; + wire [64:0] imm = reservation[259-:65]; + wire opw_v = decode[22-:2] == 2'b01; + localparam num_bytes_lp = 8; + localparam lg_bits_lp = 6; + localparam bp_common_pkg_rv64_shamt_width_gp = 6; + wire [5:0] shamt; + wire [5:0] shamtn; + wire [5:0] shmask = {!opw_v, 5'b11111}; + assign shamt = (decode[44] ? rs2 : imm) & shmask; + assign shamtn = (opw_v ? 32 : 64) - shamt; + wire [vaddr_width_p - 1:0] baddr = (decode[36] ? rs1 : pc); + wire [vaddr_width_p - 1:0] taken_raw = baddr + imm; + wire [vaddr_width_p - 1:0] taken_tgt = taken_raw & {{vaddr_width_p - 1 {1'b1}}, 1'b0}; + wire [vaddr_width_p - 1:0] ntaken_tgt = pc + (reservation[391-:2] << 1'b1); + wire [63:0] ntaken_data = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {ntaken_tgt[vaddr_width_p - 1]}}, ntaken_tgt[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + wire [63:0] pc_data = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {pc[vaddr_width_p - 1]}}, pc[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + reg [63:0] src1; + function automatic [64:0] _sv2v_strm_rs1_rev; + input reg [64:0] inp; + reg [64:0] _sv2v_strm_BEEC1_inp; + reg [64:0] _sv2v_strm_BEEC1_out; + integer _sv2v_strm_BEEC1_idx; + begin + _sv2v_strm_BEEC1_inp = {inp}; + for (_sv2v_strm_BEEC1_idx = 0; _sv2v_strm_BEEC1_idx <= 64; _sv2v_strm_BEEC1_idx = _sv2v_strm_BEEC1_idx + 1) + _sv2v_strm_BEEC1_out[64 - _sv2v_strm_BEEC1_idx-:1] = _sv2v_strm_BEEC1_inp[_sv2v_strm_BEEC1_idx+:1]; + _sv2v_strm_rs1_rev = _sv2v_strm_BEEC1_out << 0; + end + endfunction + wire [64:0] rs1_rev = _sv2v_strm_rs1_rev({rs1}); + always @(*) begin + if (_sv2v_0) + ; + case (decode[5-:3]) + 3'b000: src1 = (decode[45] ? rs1 : pc_data); + 3'b101: src1 = rs1_rev >> 1'b1; + 3'b011: src1 = rs1 << shamt; + 3'b100: src1 = rs1 << shamtn; + 3'b010: src1 = 1'sb0; + default: src1 = 1'sb0; + endcase + end + reg [63:0] src2; + always @(*) begin + if (_sv2v_0) + ; + case (decode[2-:3]) + 3'b000: src2 = (decode[44] ? rs2 : imm); + 3'b011: src2 = ~rs2; + 3'b100: src2 = $signed(rs1) >>> shamt; + 3'b110: src2 = $signed(rs1) >>> shamtn; + default: src2 = 1'sb0; + endcase + end + wire carry; + wire [bp_common_pkg_dword_width_gp:0] sum; + assign {carry, sum} = ({src1[63], src1} + {src2[63], src2}) + decode[24]; + wire sum_zero = ~|sum; + wire sum_sign = sum[bp_common_pkg_dword_width_gp]; + reg comp_result; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + case (decode[14-:6]) + 6'b010010, 6'b000010: comp_result = sum_sign; + 6'b010011, 6'b000011: comp_result = !carry; + 6'b010100, 6'b001010: comp_result = !sum_sign; + 6'b010101, 6'b001011: comp_result = carry; + 6'b001110: comp_result = !sum_zero; + default: comp_result = sum_zero; + endcase + end + wire [6:0] popcount; + bsg_popcount #(.width_p(bp_common_pkg_dword_width_gp)) popc( + .i(rs1[0+:bp_common_pkg_dword_width_gp]), + .o(popcount) + ); + localparam bp_common_pkg_word_width_gp = 32; + wire [5:0] clzh; + wire [5:0] clzl; + wire [6:0] clz = (!clzh[5] ? clzh : (!opw_v << 5) | clzl); + bsg_counting_leading_zeros #(.width_p(bp_common_pkg_word_width_gp)) bclzh( + .a_i(rs1[bp_common_pkg_word_width_gp+:bp_common_pkg_word_width_gp]), + .num_zero_o(clzh) + ); + bsg_counting_leading_zeros #(.width_p(bp_common_pkg_word_width_gp)) bclzl( + .a_i(rs1[0+:bp_common_pkg_word_width_gp]), + .num_zero_o(clzl) + ); + wire [63:0] orcb; + genvar _gv_i_45; + generate + for (_gv_i_45 = 0; _gv_i_45 < num_bytes_lp; _gv_i_45 = _gv_i_45 + 1) begin : rof_orcb + localparam i = _gv_i_45; + assign orcb[i * 8+:8] = {8 {|rs1[8 * i+:8]}}; + end + endgenerate + wire [63:0] rev8; + genvar _gv_i_46; + generate + for (_gv_i_46 = 0; _gv_i_46 < num_bytes_lp; _gv_i_46 = _gv_i_46 + 1) begin : rof_rev8 + localparam i = _gv_i_46; + assign rev8[i * 8+:8] = rs1[(7 - i) * 8+:8]; + end + endgenerate + reg [63:0] alu_result; + wire [5:0] bindex = src2 & shmask; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + case (decode[14-:6]) + 6'b000000: alu_result = sum; + 6'b000100: alu_result = src1 ^ src2; + 6'b000110: alu_result = src1 | src2; + 6'b000111: alu_result = src1 & src2; + 6'b010000: alu_result = popcount; + 6'b010001: alu_result = clz; + 6'b010100, 6'b010101, 6'b010010, 6'b010011: alu_result = (comp_result ? rs1 : rs2); + 6'b010110: alu_result = orcb; + 6'b010111: alu_result = rev8; + 6'b100000: alu_result = rs1 & ~(1'b1 << bindex); + 6'b100001: alu_result = (rs1 >> bindex) & 1'b1; + 6'b100010: alu_result = rs1 ^ (1'b1 << bindex); + 6'b100100: alu_result = rs1 | (1'b1 << bindex); + default: alu_result = comp_result; + endcase + end + wire [65:0] ird_data_lo; + bp_be_int_box #(.bp_params_p(bp_params_p)) box( + .raw_i(alu_result), + .tag_i(decode[7-:2]), + .unsigned_i(1'b0), + .reg_o(ird_data_lo) + ); + assign data_o = (decode[37] | decode[36] ? ntaken_data : ird_data_lo); + assign v_o = (en_i & reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))]) & reservation[54 + (fetch_ptr_p + 391)]; + assign instr_misaligned_v_o = ((en_i & btaken_o) & (taken_tgt[1:0] != 2'b00)) & ~|compressed_support_p; + assign branch_o = (decode[38] | decode[37]) | decode[36]; + assign btaken_o = ((decode[38] & comp_result) || decode[37]) || decode[36]; + assign npc_o = (btaken_o ? taken_tgt : ntaken_tgt); + initial _sv2v_0 = 0; +endmodule +module bp_be_pipe_aux ( + clk_i, + reset_i, + reservation_i, + flush_i, + frm_dyn_i, + data_o, + fflags_o, + v_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + input clk_i; + input reset_i; + input [reservation_width_lp - 1:0] reservation_i; + input flush_i; + input wire [2:0] frm_dyn_i; + output wire [65:0] data_o; + output wire [4:0] fflags_o; + output wire v_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] reservation; + wire [53:0] decode; + wire [31:0] instr; + assign reservation = reservation_i; + assign decode = reservation[54 + (fetch_ptr_p + 391)-:((54 + (fetch_ptr_p + 391)) >= (fetch_ptr_p + 392) ? ((54 + (fetch_ptr_p + 391)) - (fetch_ptr_p + 392)) + 1 : ((fetch_ptr_p + 392) - (54 + (fetch_ptr_p + 391))) + 1)]; + assign instr = reservation[86 + (fetch_ptr_p + 391)-:((86 + (fetch_ptr_p + 391)) >= (54 + (fetch_ptr_p + 392)) ? ((86 + (fetch_ptr_p + 391)) - (54 + (fetch_ptr_p + 392))) + 1 : ((54 + (fetch_ptr_p + 392)) - (86 + (fetch_ptr_p + 391))) + 1)]; + wire [64:0] frs1 = reservation[194-:65]; + wire [64:0] frs2 = reservation[129-:65]; + wire [63:0] irs1 = reservation[389-:65]; + wire [63:0] irs2 = reservation[324-:65]; + wire ops_v = decode[8] == 1'b1; + wire opw_v = decode[7-:2] == 2'b01; + reg [2:0] frm_li; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + frm_li = sv2v_cast_3((instr[14-:3] == 3'b111 ? frm_dyn_i : instr[14-:3])); + end + wire [0:0] control_li = 1'b1; + wire [74:0] frs1_raw; + bp_be_rec_to_raw #(.bp_params_p(bp_params_p)) frs1_to_raw( + .rec_i(frs1), + .tag_i(decode[17]), + .raw_o(frs1_raw) + ); + wire [74:0] frs2_raw; + bp_be_rec_to_raw #(.bp_params_p(bp_params_p)) frs2_to_raw( + .rec_i(frs2), + .tag_i(decode[16]), + .raw_o(frs2_raw) + ); + wire [63:0] fclass_result; + wire [4:0] fclass_fflags; + assign fclass_result = {54'b000000000000000000000000000000000000000000000000000000, frs1_raw[74] & ~frs1_raw[71], frs1_raw[74] & frs1_raw[71], ~frs1_raw[69] & frs1_raw[73], (((~frs1_raw[69] & ~frs1_raw[70]) & ~frs1_raw[72]) & ~frs1_raw[73]) & ~frs1_raw[74], ~frs1_raw[69] & frs1_raw[70], ~frs1_raw[69] & frs1_raw[72], frs1_raw[69] & frs1_raw[72], frs1_raw[69] & frs1_raw[70], (((frs1_raw[69] & ~frs1_raw[70]) & ~frs1_raw[72]) & ~frs1_raw[73]) & ~frs1_raw[74], frs1_raw[69] & frs1_raw[73]}; + assign fclass_fflags = 1'sb0; + wire [63:0] fmvi_result; + wire [4:0] fmvi_fflags; + assign fmvi_result = frs1; + assign fmvi_fflags = 1'sb0; + wire [74:0] i2f_result; + wire [4:0] i2f_fflags; + wire [64:0] i2f_rec; + wire irs1_unsigned = decode[14-:6] == 6'b000100; + iNToRecFN #( + .intWidth(bp_common_pkg_dword_width_gp), + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp) + ) i2f( + .control(control_li), + .signedIn(!irs1_unsigned), + .in(irs1), + .roundingMode(frm_li), + .out(i2f_rec), + .exceptionFlags(i2f_fflags) + ); + wire [74:0] i2f_raw; + wire [bp_be_pkg_dp_sig_width_gp:0] i2f_sig; + recFNToRawFN #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp) + ) i2f_rec_to_raw( + .in(i2f_rec), + .isNaN(i2f_result[74]), + .isInf(i2f_result[73]), + .isZero(i2f_result[72]), + .sign(i2f_result[69]), + .sExp(i2f_result[68-:13]), + .sig(i2f_sig) + ); + assign i2f_result[55-:56] = i2f_sig << 2'b10; + wire [63:0] f2i_result; + wire [4:0] f2i_fflags; + wire [63:0] f2dw_out; + wire [2:0] f2dw_iflags; + wire [4:0] dword_fflags; + wire signed_f2i = decode[14-:6] == 6'b000001; + recFNToIN #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp), + .intWidth(bp_common_pkg_dword_width_gp) + ) f2dw( + .control(control_li), + .in(frs1), + .roundingMode(frm_li), + .signedOut(signed_f2i), + .out(f2dw_out), + .intExceptionFlags(f2dw_iflags) + ); + assign dword_fflags = {f2dw_iflags[2] | f2dw_iflags[1], 3'b000, f2dw_iflags[0]}; + localparam bp_common_pkg_word_width_gp = 32; + wire [31:0] f2w_out; + wire [2:0] f2w_iflags; + wire [4:0] word_fflags; + recFNToIN #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp), + .intWidth(bp_common_pkg_word_width_gp) + ) f2w( + .control(control_li), + .in(frs1), + .roundingMode(frm_li), + .signedOut(signed_f2i), + .out(f2w_out), + .intExceptionFlags(f2w_iflags) + ); + assign word_fflags = {f2w_iflags[2] | f2w_iflags[1], 3'b000, f2w_iflags[0]}; + assign f2i_result = (opw_v ? f2w_out : f2dw_out); + assign f2i_fflags = (opw_v ? word_fflags : dword_fflags); + wire [74:0] f2f_result; + wire [4:0] f2f_fflags; + assign f2f_result = frs1_raw; + assign f2f_fflags = 1'sb0; + wire [63:0] imvf_result; + wire [63:0] imvf_mask = {bp_common_pkg_word_width_gp {opw_v}} << bp_common_pkg_word_width_gp; + assign imvf_result = irs1 | imvf_mask; + reg [63:0] fsgnj_result; + wire [5:0] signbit = (decode[8] == 1'b0 ? 63 : 31); + wire invbox_frs1 = ops_v & ~&frs1[bp_common_pkg_word_width_gp+:bp_common_pkg_word_width_gp]; + wire invbox_frs2 = ops_v & ~&frs2[bp_common_pkg_word_width_gp+:bp_common_pkg_word_width_gp]; + localparam bp_be_pkg_dp_float_width_gp = 64; + localparam [63:0] bp_be_pkg_sp_canonical_nan = 64'hffffffff7fc00000; + wire [63:0] fsgnj_a = (invbox_frs1 ? bp_be_pkg_sp_canonical_nan : frs1); + wire [63:0] fsgnj_b = (invbox_frs2 ? bp_be_pkg_sp_canonical_nan : frs2); + always @(*) begin + if (_sv2v_0) + ; + fsgnj_result = fsgnj_a; + (* full_case, parallel_case *) + case (decode[14-:6]) + 6'b001000: fsgnj_result[signbit] = ~fsgnj_b[signbit]; + 6'b001001: fsgnj_result[signbit] = fsgnj_b[signbit] ^ fsgnj_a[signbit]; + 6'b000111: fsgnj_result[signbit] = fsgnj_b[signbit]; + default: + ; + endcase + end + wire fcmp_result; + wire [4:0] fcmp_fflags; + wire flt_lo; + wire feq_lo; + wire fgt_lo; + wire unordered_lo; + wire is_feq_li = decode[14-:6] == 6'b001010; + wire is_flt_li = decode[14-:6] == 6'b001011; + wire is_fle_li = decode[14-:6] == 6'b001100; + wire is_fmax_li = decode[14-:6] == 6'b001101; + wire is_fmin_li = decode[14-:6] == 6'b001110; + wire signaling_li = is_flt_li | is_fle_li; + compareRecFN #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp) + ) fcmp( + .a(frs1), + .b(frs2), + .signaling(signaling_li), + .lt(flt_lo), + .eq(feq_lo), + .gt(fgt_lo), + .unordered(unordered_lo), + .exceptionFlags(fcmp_fflags) + ); + wire fle_lo = ~fgt_lo; + wire fcmp_out = ((is_feq_li & feq_lo) | (is_flt_li & flt_lo)) | (is_fle_li & (flt_lo | feq_lo)); + assign fcmp_result = fcmp_out; + reg [74:0] fminmax_result; + wire [4:0] fminmax_fflags; + always @(*) begin + if (_sv2v_0) + ; + if (frs1_raw[74] & frs2_raw[74]) + fminmax_result = 1'sb1; + else if (frs1_raw[74] & ~frs2_raw[74]) + fminmax_result = frs2_raw; + else if (~frs1_raw[74] & frs2_raw[74]) + fminmax_result = frs1_raw; + else if (feq_lo) + fminmax_result = (is_fmin_li ^ frs1_raw[69] ? frs2_raw : frs1_raw); + else + fminmax_result = (is_fmax_li ^ flt_lo ? frs1_raw : frs2_raw); + end + assign fminmax_fflags = fcmp_fflags; + wire [65:0] frd_data_lo; + wire [4:0] frd_fflags; + reg [63:0] ieee_result; + always @(*) begin + if (_sv2v_0) + ; + case (decode[14-:6]) + 6'b000101: ieee_result = imvf_result; + default: ieee_result = fsgnj_result; + endcase + end + wire [65:0] ieee_data_lo; + wire [4:0] ieee_fflags; + bp_be_fp_box #(.bp_params_p(bp_params_p)) fp_box( + .ieee_i(ieee_result), + .tag_i(decode[8]), + .reg_o(ieee_data_lo) + ); + assign ieee_fflags = 1'sb0; + reg [74:0] raw_result; + reg [4:0] raw_fflags; + always @(*) begin + if (_sv2v_0) + ; + case (decode[14-:6]) + 6'b000010, 6'b000100: begin + raw_result = i2f_result; + raw_fflags = i2f_fflags; + end + 6'b000000: begin + raw_result = f2f_result; + raw_fflags = f2f_fflags; + end + default: begin + raw_result = fminmax_result; + raw_fflags = fminmax_fflags; + end + endcase + end + wire [65:0] rebox_data_lo; + wire [4:0] rebox_fflags; + bp_be_fp_rebox #(.bp_params_p(bp_params_p)) rebox( + .raw_i(raw_result), + .tag_i(decode[8]), + .frm_i(frm_li), + .invalid_exc_i(1'b0), + .infinite_exc_i(1'b0), + .reg_o(rebox_data_lo), + .fflags_o(rebox_fflags) + ); + assign frd_data_lo = (decode[25] ? ieee_data_lo : rebox_data_lo); + assign frd_fflags = (decode[25] ? ieee_fflags : raw_fflags | rebox_fflags); + reg [63:0] iaux_result; + reg [4:0] ird_fflags; + always @(*) begin + if (_sv2v_0) + ; + case (decode[14-:6]) + 6'b000110: begin + iaux_result = fmvi_result; + ird_fflags = fmvi_fflags; + end + 6'b000001, 6'b000011: begin + iaux_result = f2i_result; + ird_fflags = f2i_fflags; + end + 6'b001010, 6'b001011, 6'b001100: begin + iaux_result = fcmp_result; + ird_fflags = fcmp_fflags; + end + default: begin + iaux_result = fclass_result; + ird_fflags = fclass_fflags; + end + endcase + end + wire [65:0] ird_data_lo; + bp_be_int_box #(.bp_params_p(bp_params_p)) int_box( + .raw_i(iaux_result), + .tag_i(decode[7-:2]), + .unsigned_i(1'b0), + .reg_o(ird_data_lo) + ); + wire [65:0] aux_result = (decode[40] ? ird_data_lo : frd_data_lo); + wire [4:0] aux_fflags = (decode[40] ? ird_fflags : frd_fflags); + wire aux_v_li = reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))] & reservation[(54 + (fetch_ptr_p + 391)) - 2]; + bsg_dff_chain #( + .width_p(72), + .num_stages_p(1) + ) retiming_chain( + .clk_i(clk_i), + .data_i({aux_fflags, aux_result, aux_v_li}), + .data_o({fflags_o, data_o, v_o}) + ); + initial _sv2v_0 = 0; +endmodule +module bp_be_pipe_fma ( + clk_i, + reset_i, + reservation_i, + flush_i, + frm_dyn_i, + imul_data_o, + imul_v_o, + fma_data_o, + fma_fflags_o, + fma_v_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + input clk_i; + input reset_i; + input [reservation_width_lp - 1:0] reservation_i; + input flush_i; + input wire [2:0] frm_dyn_i; + output wire [65:0] imul_data_o; + output wire imul_v_o; + output wire [65:0] fma_data_o; + output wire [4:0] fma_fflags_o; + output wire fma_v_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] reservation; + wire [53:0] decode; + wire [31:0] instr; + assign reservation = reservation_i; + assign decode = reservation[54 + (fetch_ptr_p + 391)-:((54 + (fetch_ptr_p + 391)) >= (fetch_ptr_p + 392) ? ((54 + (fetch_ptr_p + 391)) - (fetch_ptr_p + 392)) + 1 : ((fetch_ptr_p + 392) - (54 + (fetch_ptr_p + 391))) + 1)]; + assign instr = reservation[86 + (fetch_ptr_p + 391)-:((86 + (fetch_ptr_p + 391)) >= (54 + (fetch_ptr_p + 392)) ? ((86 + (fetch_ptr_p + 391)) - (54 + (fetch_ptr_p + 392))) + 1 : ((54 + (fetch_ptr_p + 392)) - (86 + (fetch_ptr_p + 391))) + 1)]; + wire [64:0] frs1 = reservation[194-:65]; + wire [64:0] frs2 = reservation[129-:65]; + wire [64:0] frs3 = reservation[64-:65]; + wire [63:0] irs1 = reservation[389-:65]; + wire [63:0] irs2 = reservation[324-:65]; + reg [2:0] frm_li; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + frm_li = sv2v_cast_3((instr[14-:3] == 3'b111 ? frm_dyn_i : instr[14-:3])); + end + wire [0:0] control_li = 1'b1; + wire is_fadd_li = decode[14-:6] == 6'b000000; + wire is_fsub_li = decode[14-:6] == 6'b000001; + wire is_faddsub_li = is_fadd_li | is_fsub_li; + wire is_fmul_li = decode[14-:6] == 6'b000010; + wire is_fmadd_li = decode[14-:6] == 6'b000011; + wire is_fmsub_li = decode[14-:6] == 6'b000100; + wire is_fnmsub_li = decode[14-:6] == 6'b000101; + wire is_fnmadd_li = decode[14-:6] == 6'b000110; + wire is_imul_li = decode[14-:6] == 6'b000111; + reg [2:0] fma_op_li; + always @(*) begin + if (_sv2v_0) + ; + if ((is_fmadd_li | is_fadd_li) | is_fmul_li) + fma_op_li = 3'b000; + else if (is_fmsub_li | is_fsub_li) + fma_op_li = 3'b001; + else if (is_fnmsub_li) + fma_op_li = 3'b010; + else if (is_fnmadd_li) + fma_op_li = 3'b011; + else + fma_op_li = 3'b100; + end + wire negate_sign = frs1[64] ^ frs2[64]; + localparam [64:0] bp_be_pkg_dp_rec_1_0 = 65'h08000000000000000; + wire [64:0] fma_one = bp_be_pkg_dp_rec_1_0; + localparam [64:0] bp_be_pkg_dp_rec_0_0 = 65'h00000000000000000; + localparam [64:0] bp_be_pkg_dp_rec_m0_0 = 65'h10000000000000000; + wire [64:0] fma_zero = (negate_sign ? bp_be_pkg_dp_rec_m0_0 : bp_be_pkg_dp_rec_0_0); + wire [64:0] fma_a_li = (decode[45] ? irs1 : frs1); + wire [64:0] fma_b_li = (decode[44] ? irs2 : (is_faddsub_li ? fma_one : frs2)); + wire [64:0] fma_c_li = (is_faddsub_li ? frs2 : (is_fmul_li ? fma_zero : frs3)); + localparam fma_latency_lp = 4; + localparam imul_latency_lp = 3; + localparam signed [63:0] fma_pipeline_stages_lp = 64'h0000000000000000; + localparam imul_retime_latency_lp = imul_latency_lp - fma_pipeline_stages_lp[0+:32]; + localparam fma_retime_latency_lp = (fma_latency_lp - fma_pipeline_stages_lp[32+:32]) - fma_pipeline_stages_lp[0+:32]; + wire [2:0] frm_r; + wire frd_tag_r; + bsg_dff_chain #( + .width_p(4), + .num_stages_p(fma_pipeline_stages_lp[0+:32] + fma_pipeline_stages_lp[32+:32]) + ) fma_info_chain( + .clk_i(clk_i), + .data_i({frm_li, decode[8]}), + .data_o({frm_r, frd_tag_r}) + ); + wire [1:0] ird_tag_r; + bsg_dff_chain #( + .width_p(2), + .num_stages_p(fma_pipeline_stages_lp[0+:32]) + ) mul_info_chain( + .clk_i(clk_i), + .data_i(decode[7-:2]), + .data_o(ird_tag_r) + ); + wire invalid_exc; + wire is_nan; + wire is_inf; + wire is_zero; + wire fma_out_sign; + wire [63:0] imul_out; + wire [74:0] fma_raw_lo; + mulAddRecFNToRaw #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp), + .pipelineStages(fma_pipeline_stages_lp[0+:32]), + .imulEn(1) + ) fma( + .clock(clk_i), + .control(control_li), + .op(fma_op_li), + .a(fma_a_li), + .b(fma_b_li), + .c(fma_c_li), + .roundingMode(frm_li), + .invalidExc(invalid_exc), + .out_isNaN(fma_raw_lo[74]), + .out_isInf(fma_raw_lo[73]), + .out_isZero(fma_raw_lo[72]), + .out_sign(fma_raw_lo[69]), + .out_sExp(fma_raw_lo[68-:13]), + .out_sig(fma_raw_lo[55-:56]), + .out_imul(imul_out) + ); + wire [65:0] ird_data_lo; + bp_be_int_box #(.bp_params_p(bp_params_p)) imul_box( + .raw_i(imul_out), + .tag_i(ird_tag_r), + .unsigned_i(1'b0), + .reg_o(ird_data_lo) + ); + wire [74:0] fma_raw_r; + wire invalid_exc_r; + bsg_dff_chain #( + .width_p(76), + .num_stages_p(fma_pipeline_stages_lp[32+:32]) + ) round_info_chain( + .clk_i(clk_i), + .data_i({invalid_exc, fma_raw_lo}), + .data_o({invalid_exc_r, fma_raw_r}) + ); + wire [65:0] frd_data_lo; + wire [4:0] fflags_lo; + bp_be_fp_rebox #(.bp_params_p(bp_params_p)) rebox( + .raw_i(fma_raw_r), + .tag_i(frd_tag_r), + .frm_i(frm_r), + .invalid_exc_i(invalid_exc_r), + .infinite_exc_i(1'b0), + .reg_o(frd_data_lo), + .fflags_o(fflags_lo) + ); + bsg_dff_chain #( + .width_p(bp_be_pkg_dpath_width_gp), + .num_stages_p(imul_retime_latency_lp - 1) + ) imul_retiming_chain( + .clk_i(clk_i), + .data_i(ird_data_lo), + .data_o(imul_data_o) + ); + bsg_dff_chain #( + .width_p(71), + .num_stages_p(fma_retime_latency_lp - 1) + ) fma_retiming_chain( + .clk_i(clk_i), + .data_i({fflags_lo, frd_data_lo}), + .data_o({fma_fflags_o, fma_data_o}) + ); + wire imul_v_li = reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))] & reservation[(54 + (fetch_ptr_p + 391)) - 5]; + bsg_dff_chain #( + .width_p(1), + .num_stages_p(2) + ) imul_v_chain( + .clk_i(clk_i), + .data_i(imul_v_li), + .data_o(imul_v_o) + ); + wire fma_v_li = reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))] & reservation[(54 + (fetch_ptr_p + 391)) - 6]; + bsg_dff_chain #( + .width_p(1), + .num_stages_p(3) + ) fma_v_chain( + .clk_i(clk_i), + .data_i(fma_v_li), + .data_o(fma_v_o) + ); + initial _sv2v_0 = 0; +endmodule +module bp_be_pipe_long ( + clk_i, + reset_i, + reservation_i, + ibusy_o, + fbusy_o, + frm_dyn_i, + flush_i, + iwb_pkt_o, + iwb_v_o, + iwb_yumi_i, + fwb_pkt_o, + fwb_v_o, + fwb_yumi_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + input clk_i; + input reset_i; + input [reservation_width_lp - 1:0] reservation_i; + output wire ibusy_o; + output wire fbusy_o; + input wire [2:0] frm_dyn_i; + input flush_i; + output wire [78:0] iwb_pkt_o; + output wire iwb_v_o; + input iwb_yumi_i; + output wire [78:0] fwb_pkt_o; + output wire fwb_v_o; + input fwb_yumi_i; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [78:0] iwb_pkt_cast_o; + assign iwb_pkt_o = iwb_pkt_cast_o; + wire [78:0] fwb_pkt_cast_o; + assign fwb_pkt_o = fwb_pkt_cast_o; + wire [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] reservation; + wire [31:0] instr; + wire [53:0] decode; + assign reservation = reservation_i; + assign decode = reservation[54 + (fetch_ptr_p + 391)-:((54 + (fetch_ptr_p + 391)) >= (fetch_ptr_p + 392) ? ((54 + (fetch_ptr_p + 391)) - (fetch_ptr_p + 392)) + 1 : ((fetch_ptr_p + 392) - (54 + (fetch_ptr_p + 391))) + 1)]; + assign instr = reservation[86 + (fetch_ptr_p + 391)-:((86 + (fetch_ptr_p + 391)) >= (54 + (fetch_ptr_p + 392)) ? ((86 + (fetch_ptr_p + 391)) - (54 + (fetch_ptr_p + 392))) + 1 : ((54 + (fetch_ptr_p + 392)) - (86 + (fetch_ptr_p + 391))) + 1)]; + wire [vaddr_width_p - 1:0] pc = reservation[vaddr_width_p + (86 + (fetch_ptr_p + 391))-:((vaddr_width_p + (86 + (fetch_ptr_p + 391))) >= (86 + (fetch_ptr_p + 392)) ? ((vaddr_width_p + (86 + (fetch_ptr_p + 391))) - (86 + (fetch_ptr_p + 392))) + 1 : ((86 + (fetch_ptr_p + 392)) - (vaddr_width_p + (86 + (fetch_ptr_p + 391)))) + 1)]; + wire [64:0] frs1 = reservation[194-:65]; + wire [64:0] frs2 = reservation[129-:65]; + wire [64:0] frs3 = reservation[64-:65]; + wire [63:0] irs1 = reservation[389-:65]; + wire [63:0] irs2 = reservation[324-:65]; + wire [63:0] irs3 = reservation[259-:65]; + wire int_v_li = (reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))] & reservation[(54 + (fetch_ptr_p + 391)) - 7]) & reservation[(54 + (fetch_ptr_p + 391)) - 13]; + wire fp_v_li = (reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))] & reservation[(54 + (fetch_ptr_p + 391)) - 7]) & reservation[(54 + (fetch_ptr_p + 391)) - 14]; + wire fmask_r; + wire imask_r; + bsg_dff #(.width_p(2)) mask_reg( + .clk_i(clk_i), + .data_i({fp_v_li, int_v_li}), + .data_o({fmask_r, imask_r}) + ); + wire flush_int_li = flush_i & (imask_r | int_v_li); + wire flush_fp_li = flush_i & (fmask_r | fp_v_li); + wire signed_div_li = |{decode[14-:6] == 6'b000001, decode[14-:6] == 6'b000011}; + wire rem_not_div_li = |{decode[14-:6] == 6'b000011, decode[14-:6] == 6'b000100}; + wire signed_opA_li = |{decode[14-:6] == 6'b000001, decode[14-:6] == 6'b000011, decode[14-:6] == 6'b000101, decode[14-:6] == 6'b000110}; + wire signed_opB_li = |{decode[14-:6] == 6'b000001, decode[14-:6] == 6'b000011, decode[14-:6] == 6'b000101}; + wire [63:0] imulh_result_lo; + wire imulh_ready_lo; + wire imulh_v_lo; + wire imulh_v_li = int_v_li & |{decode[14-:6] == 6'b000101, decode[14-:6] == 6'b000110, decode[14-:6] == 6'b000111}; + bsg_imul_iterative #(.width_p(bp_common_pkg_dword_width_gp)) imulh( + .clk_i(clk_i), + .reset_i(reset_i | flush_int_li), + .v_i(imulh_v_li), + .ready_and_o(imulh_ready_lo), + .opA_i(irs1), + .signed_opA_i(signed_opA_li), + .opB_i(irs2), + .signed_opB_i(signed_opB_li), + .gets_high_part_i(1'b1), + .v_o(imulh_v_lo), + .result_o(imulh_result_lo), + .yumi_i(imulh_v_lo & iwb_yumi_i) + ); + wire [63:0] quotient_lo; + wire [63:0] remainder_lo; + wire idiv_ready_and_lo; + wire idiv_v_lo; + wire idiv_v_li = int_v_li & |{decode[14-:6] == 6'b000001, decode[14-:6] == 6'b000010}; + wire irem_v_li = int_v_li & |{decode[14-:6] == 6'b000011, decode[14-:6] == 6'b000100}; + localparam idiv_bits_per_iter_lp = (muldiv_support_p[2'b11] ? 2'b10 : 2'b01); + bsg_idiv_iterative #( + .width_p(bp_common_pkg_dword_width_gp), + .bits_per_iter_p(idiv_bits_per_iter_lp) + ) idiv( + .clk_i(clk_i), + .reset_i(reset_i | flush_int_li), + .dividend_i(irs1), + .divisor_i(irs2), + .signed_div_i(signed_div_li), + .v_i(idiv_v_li | irem_v_li), + .ready_and_o(idiv_ready_and_lo), + .quotient_o(quotient_lo), + .remainder_o(remainder_lo), + .v_o(idiv_v_lo), + .yumi_i(idiv_v_lo & iwb_yumi_i) + ); + wire [4:0] ird_addr_r; + wire [5:0] fu_op_r; + wire [1:0] ird_tag_r; + bsg_dff_en #(.width_p(13)) iwb_reg( + .clk_i(clk_i), + .en_i((imulh_v_li | idiv_v_li) | irem_v_li), + .data_i({instr[11-:5], decode[14-:6], decode[7-:2]}), + .data_o({ird_addr_r, fu_op_r, ird_tag_r}) + ); + reg [63:0] iresult; + always @(*) begin + if (_sv2v_0) + ; + case (fu_op_r) + 6'b000011, 6'b000100: iresult = remainder_lo; + 6'b000001, 6'b000010: iresult = quotient_lo; + default: iresult = imulh_result_lo; + endcase + end + wire [65:0] ird_data_lo; + bp_be_int_box #(.bp_params_p(bp_params_p)) ird_box( + .raw_i(iresult), + .tag_i(ird_tag_r), + .unsigned_i(1'b0), + .reg_o(ird_data_lo) + ); + assign ibusy_o = ((int_v_li | ~imulh_ready_lo) | ~idiv_ready_and_lo) | imask_r; + assign iwb_v_o = ~imask_r & (imulh_v_lo | idiv_v_lo); + function automatic [4:0] sv2v_cast_93F5B; + input reg [4:0] inp; + sv2v_cast_93F5B = inp; + endfunction + function automatic [65:0] sv2v_cast_2AE23; + input reg [65:0] inp; + sv2v_cast_2AE23 = inp; + endfunction + assign iwb_pkt_cast_o = {iwb_v_o, 2'b00, sv2v_cast_93F5B(ird_addr_r), sv2v_cast_2AE23(ird_data_lo), 5'b00000}; + reg [2:0] frm_li; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + frm_li = sv2v_cast_3((instr[14-:3] == 3'b111 ? frm_dyn_i : instr[14-:3])); + end + wire [0:0] control_li = 1'b1; + wire fdiv_v_li = fp_v_li & (decode[14-:6] == 6'b001000); + wire fsqrt_v_li = fp_v_li & (decode[14-:6] == 6'b001001); + wire fdivsqrt_v_li = fdiv_v_li | fsqrt_v_li; + wire fdivsqrt_ready_and_lo; + wire fdivsqrt_v_lo; + wire sqrt_lo; + wire invalid_exc; + wire infinite_exc; + wire [2:0] frm_lo; + wire [74:0] fdivsqrt_raw_lo; + localparam fdivsqrt_bits_per_iter_lp = (fpu_support_p[2'b10] ? 2'b10 : 2'b01); + divSqrtRecFNToRaw #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp), + .bits_per_iter_p(fdivsqrt_bits_per_iter_lp) + ) fdiv( + .clock(clk_i), + .nReset(~reset_i & ~flush_fp_li), + .control(control_li), + .inReady(fdivsqrt_ready_and_lo), + .inValid(fdivsqrt_v_li), + .sqrtOp(fsqrt_v_li), + .a(frs1), + .b(frs2), + .roundingMode(frm_li), + .outValid(fdivsqrt_v_lo), + .sqrtOpOut(sqrt_lo), + .roundingModeOut(frm_lo), + .invalidExc(invalid_exc), + .infiniteExc(infinite_exc), + .out_isNaN(fdivsqrt_raw_lo[74]), + .out_isInf(fdivsqrt_raw_lo[73]), + .out_isZero(fdivsqrt_raw_lo[72]), + .out_sign(fdivsqrt_raw_lo[69]), + .out_sExp(fdivsqrt_raw_lo[68-:13]), + .out_sig(fdivsqrt_raw_lo[55-:56]) + ); + wire fdivsqrt_pending_r; + bsg_dff_reset_en #(.width_p(1)) fdivsqrt_pending_reg( + .clk_i(clk_i), + .reset_i(reset_i | flush_fp_li), + .en_i(fdivsqrt_v_lo | fwb_yumi_i), + .data_i(fdivsqrt_v_lo & ~fwb_yumi_i), + .data_o(fdivsqrt_pending_r) + ); + wire fdivsqrt_pending = fdivsqrt_v_lo | fdivsqrt_pending_r; + wire frd_tag_r; + wire [4:0] frd_addr_r; + wire [2:0] frm_r; + bsg_dff_en #(.width_p(9)) fwb_reg( + .clk_i(clk_i), + .en_i(fdivsqrt_v_li), + .data_i({frm_li, instr[11-:5], decode[8]}), + .data_o({frm_r, frd_addr_r, frd_tag_r}) + ); + wire [65:0] frd_data_lo; + wire [4:0] fflags_lo; + bp_be_fp_rebox #(.bp_params_p(bp_params_p)) rebox( + .raw_i(fdivsqrt_raw_lo), + .tag_i(frd_tag_r), + .frm_i(frm_r), + .invalid_exc_i(invalid_exc), + .infinite_exc_i(infinite_exc), + .reg_o(frd_data_lo), + .fflags_o(fflags_lo) + ); + assign fbusy_o = ((fdivsqrt_v_li | ~fdivsqrt_ready_and_lo) | fmask_r) | fdivsqrt_pending; + assign fwb_v_o = ~fmask_r & (fdivsqrt_v_lo | fdivsqrt_pending); + function automatic [4:0] sv2v_cast_5; + input reg [4:0] inp; + sv2v_cast_5 = inp; + endfunction + assign fwb_pkt_cast_o = {1'b0, fwb_v_o, 1'b0, sv2v_cast_93F5B(frd_addr_r), sv2v_cast_2AE23(frd_data_lo), sv2v_cast_5(fflags_lo & {5 {fwb_v_o}})}; + initial _sv2v_0 = 0; +endmodule +module bp_be_pipe_mem ( + clk_i, + reset_i, + cfg_bus_i, + flush_i, + sfence_i, + busy_o, + ordered_o, + reservation_i, + rs2_val_i, + commit_pkt_i, + tlb_load_miss_v_o, + tlb_store_miss_v_o, + cache_miss_v_o, + cache_replay_v_o, + load_misaligned_v_o, + load_access_fault_v_o, + load_page_fault_v_o, + store_misaligned_v_o, + store_access_fault_v_o, + store_page_fault_v_o, + early_data_o, + early_v_o, + final_data_o, + final_v_o, + late_wb_pkt_o, + late_wb_v_o, + trans_info_i, + cache_req_o, + cache_req_v_o, + cache_req_yumi_i, + cache_req_lock_i, + cache_req_metadata_o, + cache_req_metadata_v_o, + cache_req_id_i, + cache_req_critical_i, + cache_req_last_i, + cache_req_credits_full_i, + cache_req_credits_empty_i, + data_mem_pkt_v_i, + data_mem_pkt_i, + data_mem_pkt_yumi_o, + data_mem_o, + tag_mem_pkt_v_i, + tag_mem_pkt_i, + tag_mem_pkt_yumi_o, + tag_mem_o, + stat_mem_pkt_v_i, + stat_mem_pkt_i, + stat_mem_pkt_yumi_o, + stat_mem_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam dcache_req_width_lp = ((((dcache_req_id_width_p + 1) + bp_common_pkg_dword_width_gp) + 3) + paddr_width_p) + 8; + localparam dcache_req_metadata_width_lp = ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p)) + 1; + localparam dcache_data_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + dcache_fill_width_p) + (dcache_block_width_p / dcache_fill_width_p)) + 2; + localparam dcache_tag_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 3) + dcache_tag_width_p) + 3; + localparam dcache_tag_info_width_lp = 3 + dcache_tag_width_p; + localparam dcache_stat_mem_pkt_width_lp = (((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 2; + localparam dcache_stat_info_width_lp = (2 > ((2 * dcache_assoc_p) - 1) ? 2 : (2 * dcache_assoc_p) - 1); + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input flush_i; + input sfence_i; + output wire busy_o; + output wire ordered_o; + input [reservation_width_lp - 1:0] reservation_i; + input [63:0] rs2_val_i; + input [commit_pkt_width_lp - 1:0] commit_pkt_i; + output wire tlb_load_miss_v_o; + output wire tlb_store_miss_v_o; + output wire cache_miss_v_o; + output wire cache_replay_v_o; + output wire load_misaligned_v_o; + output wire load_access_fault_v_o; + output wire load_page_fault_v_o; + output wire store_misaligned_v_o; + output wire store_access_fault_v_o; + output wire store_page_fault_v_o; + output wire [65:0] early_data_o; + output wire early_v_o; + output wire [65:0] final_data_o; + output wire final_v_o; + output wire [78:0] late_wb_pkt_o; + output wire late_wb_v_o; + input [trans_info_width_lp - 1:0] trans_info_i; + output wire [dcache_req_width_lp - 1:0] cache_req_o; + output wire cache_req_v_o; + input cache_req_yumi_i; + input cache_req_lock_i; + output wire [dcache_req_metadata_width_lp - 1:0] cache_req_metadata_o; + output wire cache_req_metadata_v_o; + input [dcache_req_id_width_p - 1:0] cache_req_id_i; + input cache_req_critical_i; + input cache_req_last_i; + input cache_req_credits_full_i; + input cache_req_credits_empty_i; + input data_mem_pkt_v_i; + input [dcache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_i; + output wire data_mem_pkt_yumi_o; + output wire [dcache_block_width_p - 1:0] data_mem_o; + input tag_mem_pkt_v_i; + input [dcache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_i; + output wire tag_mem_pkt_yumi_o; + output wire [dcache_tag_info_width_lp - 1:0] tag_mem_o; + input stat_mem_pkt_v_i; + input [dcache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_i; + output wire stat_mem_pkt_yumi_o; + output wire [dcache_stat_info_width_lp - 1:0] stat_mem_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [((((dcache_req_id_width_p + 1) + bp_common_pkg_dword_width_gp) + 3) + paddr_width_p) + 7:0] cache_req_cast_o; + assign cache_req_o = cache_req_cast_o; + wire [78:0] late_wb_pkt_cast_o; + assign late_wb_pkt_o = late_wb_pkt_cast_o; + wire [(bp_common_pkg_rv64_priv_width_gp + (paddr_width_p - bp_common_pkg_page_offset_width_gp)) + 2:0] trans_info_cast_i; + assign trans_info_cast_i = trans_info_i; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire [(((((((3 + fetch_ptr_p) + 2) + vaddr_width_p) + vaddr_width_p) + vaddr_width_p) + 32) + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))) + 20:0] commit_pkt_cast_i; + assign commit_pkt_cast_i = commit_pkt_i; + wire negedge_clk = ~clk_i; + wire posedge_clk = clk_i; + wire [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] reservation; + wire [53:0] decode; + wire [31:0] instr; + assign reservation = reservation_i; + assign decode = reservation[54 + (fetch_ptr_p + 391)-:((54 + (fetch_ptr_p + 391)) >= (fetch_ptr_p + 392) ? ((54 + (fetch_ptr_p + 391)) - (fetch_ptr_p + 392)) + 1 : ((fetch_ptr_p + 392) - (54 + (fetch_ptr_p + 391))) + 1)]; + assign instr = reservation[86 + (fetch_ptr_p + 391)-:((86 + (fetch_ptr_p + 391)) >= (54 + (fetch_ptr_p + 392)) ? ((86 + (fetch_ptr_p + 391)) - (54 + (fetch_ptr_p + 392))) + 1 : ((54 + (fetch_ptr_p + 392)) - (86 + (fetch_ptr_p + 391))) + 1)]; + wire [vaddr_width_p - 1:0] pc = reservation[vaddr_width_p + (86 + (fetch_ptr_p + 391))-:((vaddr_width_p + (86 + (fetch_ptr_p + 391))) >= (86 + (fetch_ptr_p + 392)) ? ((vaddr_width_p + (86 + (fetch_ptr_p + 391))) - (86 + (fetch_ptr_p + 392))) + 1 : ((86 + (fetch_ptr_p + 392)) - (vaddr_width_p + (86 + (fetch_ptr_p + 391)))) + 1)]; + wire [63:0] rs1 = reservation[389-:65]; + wire [63:0] rs2 = reservation[324-:65]; + wire [63:0] imm = reservation[259-:65]; + wire is_req = reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))] & (decode[52] | decode[50]); + localparam bp_common_pkg_rv64_eaddr_width_gp = 64; + wire [63:0] eaddr = rs1 + imm; + wire early_v_r; + bsg_dff_chain #( + .width_p(1), + .num_stages_p(2) + ) req_chain( + .clk_i(negedge_clk), + .data_i(is_req), + .data_o(early_v_r) + ); + wire dtlb_r_store = is_req & (decode[33] | decode[32]); + wire dtlb_r_load = is_req & decode[34]; + wire dtlb_r_cbo = is_req & decode[32]; + wire dtlb_r_ptw = is_req & decode[31]; + wire dtlb_r_v = ((dtlb_r_store | dtlb_r_load) | dtlb_r_cbo) | dtlb_r_ptw; + wire [vtag_width_p - 1:0] dtlb_w_vtag; + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] dtlb_w_entry; + wire dtlb_w_v = commit_pkt_cast_i[2]; + assign dtlb_w_vtag = commit_pkt_cast_i[(vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))) - ((vaddr_width_p - 1) - bp_common_pkg_page_offset_width_gp)+:vtag_width_p]; + assign dtlb_w_entry = commit_pkt_cast_i[((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20-:((((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20) >= 21 ? ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 0 : 22 - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))]; + reg [1:0] dtlb_r_size; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + case (decode[14-:6]) + 6'b000000, 6'b000100, 6'b001000: dtlb_r_size = 2'b00; + 6'b000001, 6'b000101, 6'b001001: dtlb_r_size = 2'b01; + 6'b010000, 6'b010001, 6'b010010, 6'b010011, 6'b010100, 6'b010101, 6'b010110, 6'b010111, 6'b011000, 6'b000010, 6'b000110, 6'b001010, 6'b100010, 6'b100100, 6'b000111, 6'b001100: dtlb_r_size = 2'b10; + default: dtlb_r_size = 2'b11; + endcase + end + wire dtlb_v_lo; + wire [ptag_width_p - 1:0] dtlb_ptag_lo; + wire dtlb_ptag_uncached_lo; + wire dtlb_ptag_dram_lo; + wire uncached_mode_li = cfg_bus_cast_i[2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))-:((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) >= (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) ? ((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) + 1 : ((cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) - (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) + 1)] == 2'd0; + wire nonspec_mode_li = cfg_bus_cast_i[2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))-:((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) >= (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) ? ((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) + 1 : ((cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) - (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) + 1)] == 2'd2; + localparam [0:0] sv2v_uu_dmmu_ext_r_instr_i_0 = 1'sb0; + bp_mmu #( + .bp_params_p(bp_params_p), + .tlb_els_4k_p(dtlb_els_4k_p), + .tlb_els_2m_p(dtlb_els_2m_p), + .tlb_els_1g_p(dtlb_els_1g_p), + .latch_last_read_p(0) + ) dmmu( + .clk_i(negedge_clk), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .flush_i(flush_i), + .fence_i(sfence_i), + .priv_mode_i(trans_info_cast_i[bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2)-:((paddr_width_p - 8) >= (paddr_width_p - 9) ? ((bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2)) - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 3)) + 1 : (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 3) - (bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2))) + 1)]), + .sum_i(trans_info_cast_i[1]), + .mxr_i(trans_info_cast_i[0]), + .trans_en_i(trans_info_cast_i[2]), + .uncached_mode_i(uncached_mode_li), + .nonspec_mode_i(nonspec_mode_li), + .hio_mask_i(cfg_bus_cast_i[hio_width_p + (did_width_p - 1)-:((hio_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((hio_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (hio_width_p + (did_width_p - 1))) + 1)]), + .w_v_i(dtlb_w_v), + .w_vtag_i(dtlb_w_vtag), + .w_entry_i(dtlb_w_entry), + .r_v_i(dtlb_r_v), + .r_instr_i(sv2v_uu_dmmu_ext_r_instr_i_0), + .r_load_i(dtlb_r_load), + .r_store_i(dtlb_r_store), + .r_cbo_i(dtlb_r_cbo), + .r_ptw_i(dtlb_r_ptw), + .r_eaddr_i(eaddr), + .r_size_i(dtlb_r_size), + .r_v_o(dtlb_v_lo), + .r_ptag_o(dtlb_ptag_lo), + .r_instr_miss_o(), + .r_load_miss_o(tlb_load_miss_v_o), + .r_store_miss_o(tlb_store_miss_v_o), + .r_uncached_o(dtlb_ptag_uncached_lo), + .r_nonidem_o(), + .r_dram_o(dtlb_ptag_dram_lo), + .r_instr_access_fault_o(), + .r_load_access_fault_o(load_access_fault_v_o), + .r_store_access_fault_o(store_access_fault_v_o), + .r_instr_misaligned_o(), + .r_load_misaligned_o(load_misaligned_v_o), + .r_store_misaligned_o(store_misaligned_v_o), + .r_instr_page_fault_o(), + .r_load_page_fault_o(load_page_fault_v_o), + .r_store_page_fault_o(store_page_fault_v_o) + ); + wire [(11 + vaddr_width_p) - 1:0] dcache_pkt; + wire dcache_pkt_v = is_req; + function automatic [4:0] sv2v_cast_93F5B; + input reg [4:0] inp; + sv2v_cast_93F5B = inp; + endfunction + function automatic [5:0] sv2v_cast_6; + input reg [5:0] inp; + sv2v_cast_6 = inp; + endfunction + function automatic [vaddr_width_p - 1:0] sv2v_cast_9A70B; + input reg [vaddr_width_p - 1:0] inp; + sv2v_cast_9A70B = inp; + endfunction + assign dcache_pkt = {sv2v_cast_93F5B(instr[11-:5]), sv2v_cast_6(decode[14-:6]), sv2v_cast_9A70B(eaddr)}; + wire frs2_r_v_r; + bsg_dff #(.width_p(1)) freg( + .clk_i(posedge_clk), + .data_i(decode[42]), + .data_o(frs2_r_v_r) + ); + wire dcache_ptag_v = (dtlb_v_lo & ~load_misaligned_v_o) & ~store_misaligned_v_o; + wire dcache_v; + wire [63:0] dcache_data; + wire [1:0] dcache_tag; + wire [4:0] dcache_rd_addr; + wire dcache_unsigned; + wire dcache_int; + wire dcache_float; + wire dcache_ptw; + wire dcache_ret; + wire dcache_late; + wire dcache_busy_lo; + wire dcache_ordered_lo; + wire [63:0] dcache_st_data = rs2_val_i; + bp_be_dcache #(.bp_params_p(bp_params_p)) dcache( + .clk_i(negedge_clk), + .reset_i(reset_i), + .busy_o(dcache_busy_lo), + .ordered_o(dcache_ordered_lo), + .v_i(dcache_pkt_v), + .dcache_pkt_i(dcache_pkt), + .ptag_v_i(dcache_ptag_v), + .ptag_i(dtlb_ptag_lo), + .ptag_uncached_i(dtlb_ptag_uncached_lo), + .ptag_dram_i(dtlb_ptag_dram_lo), + .st_data_i(dcache_st_data), + .flush_i(flush_i), + .v_o(dcache_v), + .data_o(dcache_data), + .rd_addr_o(dcache_rd_addr), + .unsigned_o(dcache_unsigned), + .tag_o(dcache_tag), + .int_o(dcache_int), + .float_o(dcache_float), + .ptw_o(dcache_ptw), + .ret_o(dcache_ret), + .late_o(dcache_late), + .cache_req_o(cache_req_cast_o), + .cache_req_v_o(cache_req_v_o), + .cache_req_yumi_i(cache_req_yumi_i), + .cache_req_lock_i(cache_req_lock_i), + .cache_req_metadata_o(cache_req_metadata_o), + .cache_req_metadata_v_o(cache_req_metadata_v_o), + .cache_req_id_i(cache_req_id_i), + .cache_req_critical_i(cache_req_critical_i), + .cache_req_last_i(cache_req_last_i), + .cache_req_credits_full_i(cache_req_credits_full_i), + .cache_req_credits_empty_i(cache_req_credits_empty_i), + .data_mem_pkt_v_i(data_mem_pkt_v_i), + .data_mem_pkt_i(data_mem_pkt_i), + .data_mem_o(data_mem_o), + .data_mem_pkt_yumi_o(data_mem_pkt_yumi_o), + .tag_mem_pkt_v_i(tag_mem_pkt_v_i), + .tag_mem_pkt_i(tag_mem_pkt_i), + .tag_mem_o(tag_mem_o), + .tag_mem_pkt_yumi_o(tag_mem_pkt_yumi_o), + .stat_mem_pkt_v_i(stat_mem_pkt_v_i), + .stat_mem_pkt_i(stat_mem_pkt_i), + .stat_mem_o(stat_mem_o), + .stat_mem_pkt_yumi_o(stat_mem_pkt_yumi_o) + ); + wire early_v_li = reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))] & reservation[(54 + (fetch_ptr_p + 391)) - 1]; + bsg_dff_chain #( + .width_p(1), + .num_stages_p(1) + ) early_chain( + .clk_i(posedge_clk), + .data_i(early_v_li), + .data_o(early_v_o) + ); + assign cache_miss_v_o = (early_v_r & ~(dcache_v | dcache_late)) & cache_req_yumi_i; + assign cache_replay_v_o = (early_v_r & ~(dcache_v & ~dcache_late)) & ~cache_req_yumi_i; + wire [65:0] dcache_idata; + bp_be_int_box #(.bp_params_p(bp_params_p)) int_box( + .raw_i(dcache_data), + .tag_i(dcache_tag), + .unsigned_i(dcache_unsigned), + .reg_o(dcache_idata) + ); + assign early_data_o = dcache_idata; + wire [65:0] dcache_fdata; + bp_be_fp_box #(.bp_params_p(bp_params_p)) fp_box( + .ieee_i(dcache_data), + .tag_i(dcache_tag[0]), + .reg_o(dcache_fdata) + ); + wire [65:0] dcache_data_r; + wire [4:0] dcache_rd_addr_r; + wire [65:0] dcache_data_n = (dcache_float ? dcache_fdata : dcache_idata); + bsg_dff #(.width_p(71)) data_reg( + .clk_i(negedge_clk), + .data_i({dcache_data_n, dcache_rd_addr}), + .data_o({dcache_data_r, dcache_rd_addr_r}) + ); + wire dcache_v_r; + wire dcache_int_r; + wire dcache_float_r; + wire dcache_ptw_r; + wire dcache_late_r; + wire dcache_ret_r; + bsg_dff #(.width_p(6)) final_reg( + .clk_i(posedge_clk), + .data_i({dcache_v, dcache_int, dcache_float, dcache_ptw, dcache_late, dcache_ret}), + .data_o({dcache_v_r, dcache_int_r, dcache_float_r, dcache_ptw_r, dcache_late_r, dcache_ret_r}) + ); + wire final_v_li = reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))] & reservation[(54 + (fetch_ptr_p + 391)) - 3]; + bsg_dff_chain #( + .width_p(1), + .num_stages_p(2) + ) final_chain( + .clk_i(posedge_clk), + .data_i(final_v_li), + .data_o(final_v_o) + ); + assign final_data_o = dcache_data_r; + bsg_dff #(.width_p(2)) sync_reg( + .clk_i(posedge_clk), + .data_i({dcache_ordered_lo, dcache_busy_lo}), + .data_o({ordered_o, busy_o}) + ); + assign late_wb_v_o = (dcache_v_r & dcache_ret_r) & (dcache_late_r | dcache_ptw_r); + function automatic [65:0] sv2v_cast_2AE23; + input reg [65:0] inp; + sv2v_cast_2AE23 = inp; + endfunction + assign late_wb_pkt_cast_o = {dcache_int_r, dcache_float_r, dcache_ptw_r, sv2v_cast_93F5B(dcache_rd_addr_r), sv2v_cast_2AE23(dcache_data_r), 5'b00000}; + initial _sv2v_0 = 0; +endmodule +module bp_be_pipe_sys ( + clk_i, + reset_i, + cfg_bus_i, + reservation_i, + flush_i, + retire_v_i, + retire_queue_v_i, + retire_data_i, + retire_exception_i, + retire_special_i, + data_o, + v_o, + illegal_instr_o, + iwb_pkt_i, + fwb_pkt_i, + commit_pkt_o, + debug_irq_i, + timer_irq_i, + software_irq_i, + m_external_irq_i, + s_external_irq_i, + irq_pending_o, + irq_waiting_o, + decode_info_o, + trans_info_o, + frm_dyn_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam exception_width_lp = 25; + localparam special_width_lp = 9; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input [reservation_width_lp - 1:0] reservation_i; + input flush_i; + input retire_v_i; + input retire_queue_v_i; + input [65:0] retire_data_i; + input [24:0] retire_exception_i; + input [8:0] retire_special_i; + output wire [65:0] data_o; + output wire v_o; + output wire illegal_instr_o; + input [78:0] iwb_pkt_i; + input [78:0] fwb_pkt_i; + output wire [commit_pkt_width_lp - 1:0] commit_pkt_o; + input debug_irq_i; + input timer_irq_i; + input software_irq_i; + input m_external_irq_i; + input s_external_irq_i; + output wire irq_pending_o; + output wire irq_waiting_o; + output wire [12:0] decode_info_o; + output wire [trans_info_width_lp - 1:0] trans_info_o; + output wire [2:0] frm_dyn_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] reservation; + wire [53:0] decode; + wire [31:0] instr; + wire [78:0] iwb_pkt_cast_i; + assign iwb_pkt_cast_i = iwb_pkt_i; + wire [78:0] fwb_pkt_cast_i; + assign fwb_pkt_cast_i = fwb_pkt_i; + wire [(((((((3 + fetch_ptr_p) + 2) + vaddr_width_p) + vaddr_width_p) + vaddr_width_p) + 32) + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))) + 20:0] commit_pkt_cast_o; + assign commit_pkt_o = commit_pkt_cast_o; + wire [12:0] decode_info_cast_o; + assign decode_info_o = decode_info_cast_o; + wire [(bp_common_pkg_rv64_priv_width_gp + (paddr_width_p - bp_common_pkg_page_offset_width_gp)) + 2:0] trans_info_cast_o; + assign trans_info_o = trans_info_cast_o; + assign reservation = reservation_i; + assign decode = reservation[54 + (fetch_ptr_p + 391)-:((54 + (fetch_ptr_p + 391)) >= (fetch_ptr_p + 392) ? ((54 + (fetch_ptr_p + 391)) - (fetch_ptr_p + 392)) + 1 : ((fetch_ptr_p + 392) - (54 + (fetch_ptr_p + 391))) + 1)]; + assign instr = reservation[86 + (fetch_ptr_p + 391)-:((86 + (fetch_ptr_p + 391)) >= (54 + (fetch_ptr_p + 392)) ? ((86 + (fetch_ptr_p + 391)) - (54 + (fetch_ptr_p + 392))) + 1 : ((54 + (fetch_ptr_p + 392)) - (86 + (fetch_ptr_p + 391))) + 1)]; + wire [vaddr_width_p - 1:0] pc = reservation[vaddr_width_p + (86 + (fetch_ptr_p + 391))-:((vaddr_width_p + (86 + (fetch_ptr_p + 391))) >= (86 + (fetch_ptr_p + 392)) ? ((vaddr_width_p + (86 + (fetch_ptr_p + 391))) - (86 + (fetch_ptr_p + 392))) + 1 : ((86 + (fetch_ptr_p + 392)) - (vaddr_width_p + (86 + (fetch_ptr_p + 391)))) + 1)]; + wire [63:0] rs1 = reservation[389-:65]; + wire [63:0] rs2 = reservation[324-:65]; + wire [63:0] imm = reservation[259-:65]; + wire csr_v_li = reservation[(54 + (fetch_ptr_p + 391)) - 24] | reservation[(54 + (fetch_ptr_p + 391)) - 23]; + localparam bp_common_pkg_rv64_csr_addr_width_gp = 12; + wire [11:0] csr_addr_li = instr[31-:12]; + wire [((((3 + vaddr_width_p) + vaddr_width_p) + 98) + fetch_ptr_p) + 37:0] retire_pkt; + wire [63:0] csr_data_lo; + wire [4:0] fflags_acc_li = iwb_pkt_cast_i[4-:5] | fwb_pkt_cast_i[4-:5]; + bp_be_csr #(.bp_params_p(bp_params_p)) csr( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .csr_r_v_i(csr_v_li), + .csr_r_addr_i(csr_addr_li), + .csr_r_data_o(csr_data_lo), + .csr_r_illegal_o(illegal_instr_o), + .fflags_acc_i(fflags_acc_li), + .frf_w_v_i(fwb_pkt_cast_i[77]), + .debug_irq_i(debug_irq_i), + .timer_irq_i(timer_irq_i), + .software_irq_i(software_irq_i), + .m_external_irq_i(m_external_irq_i), + .s_external_irq_i(s_external_irq_i), + .irq_pending_o(irq_pending_o), + .irq_waiting_o(irq_waiting_o), + .retire_pkt_i(retire_pkt), + .commit_pkt_o(commit_pkt_cast_o), + .decode_info_o(decode_info_cast_o), + .trans_info_o(trans_info_cast_o), + .frm_dyn_o(frm_dyn_o) + ); + reg [vaddr_width_p - 1:0] retire_npc_r; + reg [63:0] retire_nvaddr_r; + reg [63:0] retire_vaddr_r; + reg [63:0] retire_ndata_r; + reg [63:0] retire_data_r; + reg [fetch_ptr_p - 1:0] retire_nsize_r; + reg [fetch_ptr_p - 1:0] retire_size_r; + reg [fetch_ptr_p - 1:0] retire_ncount_r; + reg [fetch_ptr_p - 1:0] retire_count_r; + reg [31:0] retire_ninstr_r; + reg [31:0] retire_instr_r; + reg retire_niscore_r; + reg retire_iscore_r; + reg retire_nfscore_r; + reg retire_fscore_r; + reg retire_nspec_w_r; + reg retire_spec_w_r; + always @(posedge clk_i) begin + retire_npc_r <= reservation[vaddr_width_p + (86 + (fetch_ptr_p + 391))-:((vaddr_width_p + (86 + (fetch_ptr_p + 391))) >= (86 + (fetch_ptr_p + 392)) ? ((vaddr_width_p + (86 + (fetch_ptr_p + 391))) - (86 + (fetch_ptr_p + 392))) + 1 : ((86 + (fetch_ptr_p + 392)) - (vaddr_width_p + (86 + (fetch_ptr_p + 391)))) + 1)]; + retire_nvaddr_r <= rs1 + imm; + retire_vaddr_r <= retire_nvaddr_r; + retire_ndata_r <= rs2; + retire_data_r <= retire_ndata_r; + retire_nsize_r <= reservation[391-:2]; + retire_size_r <= retire_nsize_r; + retire_ncount_r <= reservation[fetch_ptr_p + 391-:((fetch_ptr_p + 391) >= 392 ? fetch_ptr_p + 0 : 393 - (fetch_ptr_p + 391))]; + retire_count_r <= retire_ncount_r; + retire_ninstr_r <= reservation[86 + (fetch_ptr_p + 391)-:((86 + (fetch_ptr_p + 391)) >= (54 + (fetch_ptr_p + 392)) ? ((86 + (fetch_ptr_p + 391)) - (54 + (fetch_ptr_p + 392))) + 1 : ((54 + (fetch_ptr_p + 392)) - (86 + (fetch_ptr_p + 391))) + 1)]; + retire_instr_r <= retire_ninstr_r; + retire_niscore_r <= reservation[(54 + (fetch_ptr_p + 391)) - 26] & reservation[(54 + (fetch_ptr_p + 391)) - 13]; + retire_iscore_r <= retire_niscore_r; + retire_nfscore_r <= reservation[(54 + (fetch_ptr_p + 391)) - 26] & reservation[(54 + (fetch_ptr_p + 391)) - 14]; + retire_fscore_r <= retire_nfscore_r; + retire_nspec_w_r <= reservation[(54 + (fetch_ptr_p + 391)) - 26] & reservation[(54 + (fetch_ptr_p + 391)) - 27]; + retire_spec_w_r <= retire_nspec_w_r; + end + reg [63:0] retire_data_li; + wire [63:0] retire_imm_li = retire_instr_r[19-:5]; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({retire_queue_v_i, retire_instr_r}) + {1'b1, {12 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b1110011}: retire_data_li = retire_imm_li | retire_data_i; + {1'b1, {12 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b1110011}: retire_data_li = ~retire_imm_li & retire_data_i; + {1'b1, {12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011}: retire_data_li = retire_imm_li; + {1'b1, {12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1110011}: retire_data_li = retire_vaddr_r | retire_data_i; + {1'b1, {12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b1110011}: retire_data_li = ~retire_vaddr_r & retire_data_i; + {1'b1, {12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011}: retire_data_li = retire_vaddr_r; + default: retire_data_li = retire_data_i; + endcase + end + wire instret_li = (retire_v_i & retire_queue_v_i) & ~|retire_exception_i; + wire iscore_li = (~retire_spec_w_r & retire_iscore_r) | ((retire_spec_w_r & retire_iscore_r) & |retire_special_i); + wire fscore_li = (~retire_spec_w_r & retire_fscore_r) | ((retire_spec_w_r & retire_fscore_r) & |retire_special_i); + function automatic [vaddr_width_p - 1:0] sv2v_cast_9A70B; + input reg [vaddr_width_p - 1:0] inp; + sv2v_cast_9A70B = inp; + endfunction + function automatic [65:0] sv2v_cast_66; + input reg [65:0] inp; + sv2v_cast_66 = inp; + endfunction + function automatic [fetch_ptr_p - 1:0] sv2v_cast_FEA14; + input reg [fetch_ptr_p - 1:0] inp; + sv2v_cast_FEA14 = inp; + endfunction + function automatic [24:0] sv2v_cast_25; + input reg [24:0] inp; + sv2v_cast_25 = inp; + endfunction + function automatic [8:0] sv2v_cast_9; + input reg [8:0] inp; + sv2v_cast_9 = inp; + endfunction + function automatic [0:0] sv2v_cast_1; + input reg [0:0] inp; + sv2v_cast_1 = inp; + endfunction + assign retire_pkt = {retire_v_i, retire_queue_v_i, instret_li, sv2v_cast_9A70B(retire_npc_r), sv2v_cast_9A70B(retire_vaddr_r), sv2v_cast_66(retire_data_li), retire_instr_r, sv2v_cast_FEA14(retire_count_r), sv2v_cast_2(retire_size_r), sv2v_cast_25((retire_v_i ? retire_exception_i : {25 {1'sb0}})), sv2v_cast_9((instret_li ? retire_special_i : {9 {1'sb0}})), sv2v_cast_1((instret_li ? iscore_li : 1'b0)), sv2v_cast_1((instret_li ? fscore_li : 1'b0))}; + assign v_o = csr_v_li; + assign data_o = csr_data_lo; + initial _sv2v_0 = 0; +endmodule +module bp_be_ptw ( + clk_i, + reset_i, + busy_o, + commit_pkt_i, + trans_info_i, + ordered_i, + v_o, + walk_o, + itlb_fill_o, + dtlb_fill_o, + instr_page_fault_o, + load_page_fault_o, + store_page_fault_o, + count_o, + addr_o, + pte_o, + v_i, + data_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + parameter pte_width_p = 0; + parameter page_table_depth_p = 0; + parameter pte_size_in_bytes_p = 0; + parameter page_idx_width_p = 0; + input clk_i; + input reset_i; + output wire busy_o; + input [commit_pkt_width_lp - 1:0] commit_pkt_i; + input [trans_info_width_lp - 1:0] trans_info_i; + input ordered_i; + output wire v_o; + output wire walk_o; + output wire itlb_fill_o; + output wire dtlb_fill_o; + output wire instr_page_fault_o; + output wire load_page_fault_o; + output wire store_page_fault_o; + output wire [fetch_ptr_p - 1:0] count_o; + output wire [63:0] addr_o; + output wire [63:0] pte_o; + input v_i; + input [63:0] data_i; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((((((3 + fetch_ptr_p) + 2) + vaddr_width_p) + vaddr_width_p) + vaddr_width_p) + 32) + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))) + 20:0] commit_pkt_cast_i; + assign commit_pkt_cast_i = commit_pkt_i; + wire [(bp_common_pkg_rv64_priv_width_gp + (paddr_width_p - bp_common_pkg_page_offset_width_gp)) + 2:0] trans_info_cast_i; + assign trans_info_cast_i = trans_info_i; + reg [1:0] state_n; + reg [1:0] state_r; + wire is_idle = state_r == 2'd0; + wire is_wait = state_r == 2'd1; + wire is_send = state_r == 2'd2; + wire is_write = state_r == 2'd3; + localparam lg_pte_size_in_bytes_lp = ((pte_size_in_bytes_p == 1) || (pte_size_in_bytes_p == 0) ? 1 : $clog2(pte_size_in_bytes_p)); + localparam lg_page_table_depth_lp = ((page_table_depth_p == 1) || (page_table_depth_p == 0) ? 1 : $clog2(page_table_depth_p)); + localparam pte_ptag_offset_lp = (page_table_depth_p - 1) * page_idx_width_p; + localparam bp_common_pkg_sv39_ppn_width_gp = 44; + localparam bp_common_pkg_sv39_pte_width_gp = 64; + wire [63:0] dcache_pte; + assign dcache_pte = data_i; + wire [ptag_width_p - 1:0] ppn_r; + wire [ptag_width_p - 1:0] ppn_n; + wire [lg_page_table_depth_lp - 1:0] level_n; + wire [lg_page_table_depth_lp - 1:0] level_r; + wire instr_n; + wire instr_r; + wire store_n; + wire store_r; + wire load_n; + wire load_r; + wire [fetch_ptr_p - 1:0] count_n; + wire [fetch_ptr_p - 1:0] count_r; + wire [vaddr_width_p - 1:0] vaddr_n; + wire [vaddr_width_p - 1:0] vaddr_r; + wire [63:0] vpn; + wire [63:0] ppn; + wire [(page_table_depth_p * page_idx_width_p) - 1:0] partial_vpn; + wire [(page_table_depth_p * page_idx_width_p) - 1:0] partial_ppn; + localparam bp_common_pkg_sv39_page_offset_width_gp = 12; + assign vpn = vaddr_r >> bp_common_pkg_sv39_page_offset_width_gp; + genvar _gv_i_47; + generate + for (_gv_i_47 = 0; _gv_i_47 < page_table_depth_p; _gv_i_47 = _gv_i_47 + 1) begin : rof1 + localparam i = _gv_i_47; + assign partial_vpn[i * page_idx_width_p+:page_idx_width_p] = vpn[page_idx_width_p * i+:page_idx_width_p]; + assign partial_ppn[i * page_idx_width_p+:page_idx_width_p] = ppn[page_idx_width_p * i+:page_idx_width_p]; + end + endgenerate + wire [ptag_width_p - 1:0] writeback_ppn = ((((level_r > 0 ? partial_vpn[0+:page_idx_width_p] : partial_ppn[0+:page_idx_width_p]) << 0) | ((level_r > 1 ? partial_vpn[page_idx_width_p+:page_idx_width_p] : partial_ppn[page_idx_width_p+:page_idx_width_p]) << (1 * page_idx_width_p))) | ((level_r > 2 ? partial_vpn[2 * page_idx_width_p+:page_idx_width_p] : partial_ppn[2 * page_idx_width_p+:page_idx_width_p]) << (2 * page_idx_width_p))) | (dcache_pte[9 + ptag_width_p:10 + pte_ptag_offset_lp] << pte_ptag_offset_lp); + assign busy_o = ~is_idle; + wire pte_is_leaf = (dcache_pte[3] | dcache_pte[2]) | dcache_pte[1]; + wire pte_is_kilopage = level_r == 2'd0; + wire pte_is_megapage = level_r == 2'd1; + wire pte_is_gigapage = level_r == 2'd2; + wire pte_invalid = ~dcache_pte[0] | (~dcache_pte[1] & dcache_pte[2]); + wire leaf_not_found = pte_is_kilopage & ~pte_is_leaf; + wire s_priv_req = (pte_is_leaf & (trans_info_cast_i[bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2)-:((paddr_width_p - 8) >= (paddr_width_p - 9) ? ((bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2)) - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 3)) + 1 : (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 3) - (bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2))) + 1)] == 2'b01)) & (instr_r | ~trans_info_cast_i[1]); + wire u_priv_req = pte_is_leaf & (trans_info_cast_i[bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2)-:((paddr_width_p - 8) >= (paddr_width_p - 9) ? ((bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2)) - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 3)) + 1 : (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 3) - (bp_common_pkg_rv64_priv_width_gp + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2))) + 1)] == 1'b0); + wire priv_fault = pte_is_leaf & ((dcache_pte[4] & s_priv_req) | (~dcache_pte[4] & u_priv_req)); + wire misaligned_superpage = (pte_is_leaf & |level_r) & |dcache_pte[10 + (page_idx_width_p * (level_r - 1'b1))+:page_idx_width_p]; + wire ad_fault = pte_is_leaf & (~dcache_pte[6] | (store_r & ~dcache_pte[7])); + wire common_faults = (((pte_invalid | leaf_not_found) | priv_fault) | misaligned_superpage) | ad_fault; + wire instr_page_fault = instr_r & (common_faults | (pte_is_leaf & ~dcache_pte[3])); + wire load_page_fault = load_r & (common_faults | (pte_is_leaf & ~(dcache_pte[1] | (dcache_pte[3] & trans_info_cast_i[0])))); + wire store_page_fault = store_r & (common_faults | (pte_is_leaf & ~dcache_pte[2])); + wire page_fault_v = (instr_page_fault | load_page_fault) | store_page_fault; + wire fill_v = pte_is_leaf & ~page_fault_v; + wire tlb_miss_v = (commit_pkt_cast_i[9] | commit_pkt_cast_i[7]) | commit_pkt_cast_i[6]; + wire walk_start = is_idle & tlb_miss_v; + wire walk_ready = is_wait & ordered_i; + wire walk_send = is_send; + wire walk_replay = commit_pkt_cast_i[4]; + wire walk_next = v_i & ~(pte_is_leaf | page_fault_v); + wire walk_done = v_i & (pte_is_leaf | page_fault_v); + wire [11:0] walk_offset = partial_vpn[level_n * page_idx_width_p+:page_idx_width_p] << lg_pte_size_in_bytes_lp; + wire [paddr_width_p - 1:0] walk_addr = {ppn, walk_offset}; + assign instr_n = commit_pkt_cast_i[9]; + assign load_n = commit_pkt_cast_i[6]; + assign store_n = commit_pkt_cast_i[7]; + assign count_n = commit_pkt_cast_i[fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))-:((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))))))) >= (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)))))) ? ((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))) - (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))))))) + 1 : ((2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))))) - (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))) + 1)]; + assign vaddr_n = commit_pkt_cast_i[vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))-:((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))) >= (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)) ? ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))) - (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) + 1 : ((32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) + 1)]; + bsg_dff_en #(.width_p((3 + fetch_ptr_p) + vaddr_width_p)) miss_reg( + .clk_i(clk_i), + .en_i(walk_start), + .data_i({instr_n, load_n, store_n, count_n, vaddr_n}), + .data_o({instr_r, load_r, store_r, count_r, vaddr_r}) + ); + assign ppn_n = (walk_start ? trans_info_cast_i[(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2-:((paddr_width_p - 10) >= 3 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 0 : 4 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 2))] : dcache_pte[53-:44]); + assign level_n = (walk_start ? page_table_depth_p - 1'b1 : level_r - walk_next); + wire walk_en = (walk_start | walk_next) | walk_done; + bsg_dff_en #(.width_p(lg_page_table_depth_lp + ptag_width_p)) walk_reg( + .clk_i(clk_i), + .en_i(walk_en), + .data_i({level_n, ppn_n}), + .data_o({level_r, ppn_r}) + ); + assign ppn = (walk_en ? ppn_n : ppn_r); + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] tlb_w_entry; + assign tlb_w_entry[(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7-:((paddr_width_p - 5) >= 8 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 0 : 9 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))] = writeback_ppn; + assign tlb_w_entry[7] = pte_is_gigapage; + assign tlb_w_entry[6] = pte_is_megapage; + assign tlb_w_entry[5] = dcache_pte[6]; + assign tlb_w_entry[4] = dcache_pte[7]; + assign tlb_w_entry[3] = dcache_pte[4]; + assign tlb_w_entry[2] = dcache_pte[3]; + assign tlb_w_entry[1] = dcache_pte[2]; + assign tlb_w_entry[0] = dcache_pte[1]; + assign v_o = (walk_send | walk_next) | walk_done; + assign walk_o = walk_send | walk_next; + assign itlb_fill_o = (walk_done & instr_r) & ~page_fault_v; + assign dtlb_fill_o = (walk_done & ~instr_r) & ~page_fault_v; + assign instr_page_fault_o = walk_done & instr_page_fault; + assign load_page_fault_o = walk_done & load_page_fault; + assign store_page_fault_o = walk_done & store_page_fault; + assign count_o = (walk_done ? count_r : {fetch_ptr_p {1'sb0}}); + assign addr_o = (walk_done ? vaddr_r : walk_addr); + assign pte_o = tlb_w_entry; + always @(*) begin + if (_sv2v_0) + ; + case (state_r) + 2'd0: state_n = (walk_start ? 2'd1 : 2'd0); + 2'd1: state_n = (walk_ready ? 2'd2 : 2'd1); + 2'd2: state_n = (walk_send ? 2'd3 : 2'd2); + 2'd3: state_n = (walk_replay ? 2'd1 : (walk_done ? 2'd0 : 2'd3)); + default: state_n = 2'd0; + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 2'd0; + else + state_r <= state_n; + initial _sv2v_0 = 0; +endmodule +module bp_be_rec_to_raw ( + rec_i, + tag_i, + raw_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam raw_width_lp = 75; + localparam bp_be_pkg_dp_rec_width_gp = 65; + input [64:0] rec_i; + input tag_i; + output wire [74:0] raw_o; + wire [64:0] rec_cast_i; + assign rec_cast_i = rec_i; + wire [74:0] raw_cast_o; + assign raw_o = raw_cast_o; + wire [bp_be_pkg_dp_sig_width_gp:0] raw_sig; + recFNToRawFN #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp) + ) rec2raw( + .in(rec_cast_i), + .isNaN(raw_cast_o[74]), + .isInf(raw_cast_o[73]), + .isZero(raw_cast_o[72]), + .sign(raw_cast_o[69]), + .sExp(raw_cast_o[68-:13]), + .sig(raw_sig) + ); + assign raw_cast_o[55-:56] = raw_sig << 2'b10; + isSigNaNRecFN #( + .expWidth(bp_be_pkg_dp_exp_width_gp), + .sigWidth(bp_be_pkg_dp_sig_width_gp) + ) is_snan( + .in(rec_cast_i), + .isSigNaN(raw_cast_o[71]) + ); + localparam [bp_be_pkg_dp_exp_width_gp:0] minNormDpExp = 1026; + localparam bp_be_pkg_sp_exp_width_gp = 8; + localparam [bp_be_pkg_sp_exp_width_gp:0] minNormSpExp = 130; + localparam bias_adj_lp = -1792; + wire [bp_be_pkg_sp_exp_width_gp:0] biased_sp = raw_cast_o[68-:13] + bias_adj_lp; + wire [bp_be_pkg_dp_exp_width_gp:0] biased_dp = raw_cast_o[68-:13] + 0; + assign raw_cast_o[70] = (tag_i ? ((~raw_cast_o[72] & ~raw_cast_o[73]) & ~raw_cast_o[74]) & (biased_sp < minNormSpExp) : ((~raw_cast_o[72] & ~raw_cast_o[73]) & ~raw_cast_o[74]) & (biased_dp < minNormDpExp)); +endmodule +module bp_be_reservation ( + clk_i, + reset_i, + dispatch_pkt_i, + bypass_rs_i, + reservation_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + input clk_i; + input reset_i; + input [dispatch_pkt_width_lp - 1:0] dispatch_pkt_i; + input [197:0] bypass_rs_i; + output wire [reservation_width_lp - 1:0] reservation_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((4 + vaddr_width_p) + 32) + fetch_ptr_p) + 287:0] dispatch_pkt_cast_i; + assign dispatch_pkt_cast_i = dispatch_pkt_i; + wire [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] reservation_cast_o; + assign reservation_o = reservation_cast_o; + reg [(((4 + vaddr_width_p) + 32) + fetch_ptr_p) + 287:0] dispatch_pkt_n; + wire [(((4 + vaddr_width_p) + 32) + fetch_ptr_p) + 287:0] dispatch_pkt_r; + always @(*) begin + if (_sv2v_0) + ; + dispatch_pkt_n = dispatch_pkt_cast_i; + dispatch_pkt_n[231-:66] = bypass_rs_i[0+:bp_be_pkg_dpath_width_gp]; + dispatch_pkt_n[165-:66] = bypass_rs_i[bp_be_pkg_dpath_width_gp+:bp_be_pkg_dpath_width_gp]; + dispatch_pkt_n[99-:66] = bypass_rs_i[132+:bp_be_pkg_dpath_width_gp]; + end + bsg_dff #(.width_p(dispatch_pkt_width_lp)) dispatch_pkt_reg( + .clk_i(clk_i), + .data_i(dispatch_pkt_n), + .data_o(dispatch_pkt_r) + ); + wire [53:0] decode; + assign decode = dispatch_pkt_r[285-:54]; + wire [64:0] frs1; + bp_be_fp_unbox #(.bp_params_p(bp_params_p)) frs1_unbox( + .reg_i(dispatch_pkt_r[231-:66]), + .tag_i(decode[17]), + .raw_i(decode[25]), + .val_o(frs1) + ); + wire [64:0] frs2; + bp_be_fp_unbox #(.bp_params_p(bp_params_p)) frs2_unbox( + .reg_i(dispatch_pkt_r[165-:66]), + .tag_i(decode[16]), + .raw_i(decode[25]), + .val_o(frs2) + ); + wire [64:0] frs3; + bp_be_fp_unbox #(.bp_params_p(bp_params_p)) frs3_unbox( + .reg_i(dispatch_pkt_r[99-:66]), + .tag_i(decode[15]), + .raw_i(decode[25]), + .val_o(frs3) + ); + wire [64:0] rs1; + bp_be_int_unbox #(.bp_params_p(bp_params_p)) irs1_unbox( + .reg_i(dispatch_pkt_r[231-:66]), + .tag_i(decode[22-:2]), + .unsigned_i(decode[23]), + .val_o(rs1) + ); + wire [64:0] rs2; + bp_be_int_unbox #(.bp_params_p(bp_params_p)) irs2_unbox( + .reg_i(dispatch_pkt_r[165-:66]), + .tag_i(decode[19-:2]), + .unsigned_i(decode[20]), + .val_o(rs2) + ); + wire [64:0] imm = dispatch_pkt_r[99-:66]; + reg [(((1 + vaddr_width_p) + 86) + fetch_ptr_p) + 391:0] reservation; + always @(*) begin + if (_sv2v_0) + ; + reservation = 1'sb0; + reservation[1 + (vaddr_width_p + (86 + (fetch_ptr_p + 391)))] = dispatch_pkt_r[4 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))]; + reservation[vaddr_width_p + (86 + (fetch_ptr_p + 391))-:((vaddr_width_p + (86 + (fetch_ptr_p + 391))) >= (86 + (fetch_ptr_p + 392)) ? ((vaddr_width_p + (86 + (fetch_ptr_p + 391))) - (86 + (fetch_ptr_p + 392))) + 1 : ((86 + (fetch_ptr_p + 392)) - (vaddr_width_p + (86 + (fetch_ptr_p + 391)))) + 1)] = dispatch_pkt_r[vaddr_width_p + (32 + (fetch_ptr_p + 287))-:((vaddr_width_p + (32 + (fetch_ptr_p + 287))) >= (32 + (fetch_ptr_p + 288)) ? ((vaddr_width_p + (32 + (fetch_ptr_p + 287))) - (32 + (fetch_ptr_p + 288))) + 1 : ((32 + (fetch_ptr_p + 288)) - (vaddr_width_p + (32 + (fetch_ptr_p + 287)))) + 1)]; + reservation[86 + (fetch_ptr_p + 391)-:((86 + (fetch_ptr_p + 391)) >= (54 + (fetch_ptr_p + 392)) ? ((86 + (fetch_ptr_p + 391)) - (54 + (fetch_ptr_p + 392))) + 1 : ((54 + (fetch_ptr_p + 392)) - (86 + (fetch_ptr_p + 391))) + 1)] = dispatch_pkt_r[32 + (fetch_ptr_p + 287)-:((32 + (fetch_ptr_p + 287)) >= (fetch_ptr_p + 288) ? ((32 + (fetch_ptr_p + 287)) - (fetch_ptr_p + 288)) + 1 : ((fetch_ptr_p + 288) - (32 + (fetch_ptr_p + 287))) + 1)]; + reservation[54 + (fetch_ptr_p + 391)-:((54 + (fetch_ptr_p + 391)) >= (fetch_ptr_p + 392) ? ((54 + (fetch_ptr_p + 391)) - (fetch_ptr_p + 392)) + 1 : ((fetch_ptr_p + 392) - (54 + (fetch_ptr_p + 391))) + 1)] = dispatch_pkt_r[285-:54]; + reservation[391-:2] = dispatch_pkt_r[287-:2]; + reservation[fetch_ptr_p + 391-:((fetch_ptr_p + 391) >= 392 ? fetch_ptr_p + 0 : 393 - (fetch_ptr_p + 391))] = dispatch_pkt_r[fetch_ptr_p + 287-:((fetch_ptr_p + 287) >= 288 ? fetch_ptr_p + 0 : 289 - (fetch_ptr_p + 287))]; + reservation[389-:65] = rs1; + reservation[324-:65] = rs2; + reservation[259-:65] = imm; + reservation[194-:65] = frs1; + reservation[129-:65] = frs2; + reservation[64-:65] = frs3; + end + assign reservation_cast_o = reservation; + initial _sv2v_0 = 0; +endmodule +module bp_be_cmd_queue ( + clk_i, + reset_i, + fe_cmd_i, + fe_cmd_v_i, + fe_cmd_o, + fe_cmd_v_o, + fe_cmd_yumi_i, + empty_n_o, + empty_r_o, + full_n_o, + full_r_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam ptr_width_lp = ((fe_cmd_fifo_els_p == 1) || (fe_cmd_fifo_els_p == 0) ? 1 : $clog2(fe_cmd_fifo_els_p)); + input clk_i; + input reset_i; + input [fe_cmd_width_lp - 1:0] fe_cmd_i; + input fe_cmd_v_i; + output wire [fe_cmd_width_lp - 1:0] fe_cmd_o; + output wire fe_cmd_v_o; + input fe_cmd_yumi_i; + output wire empty_n_o; + output wire empty_r_o; + output wire full_n_o; + output wire full_r_o; + wire enq = fe_cmd_v_i; + wire deq = fe_cmd_yumi_i; + wire [ptr_width_lp - 1:0] wptr_r; + wire [ptr_width_lp - 1:0] rptr_n; + wire [ptr_width_lp - 1:0] rptr_r; + wire full_lo; + wire empty_lo; + bsg_fifo_tracker #(.els_p(fe_cmd_fifo_els_p)) ft( + .clk_i(clk_i), + .reset_i(reset_i), + .enq_i(enq), + .deq_i(deq), + .wptr_r_o(wptr_r), + .rptr_r_o(rptr_r), + .rptr_n_o(rptr_n), + .full_o(full_lo), + .empty_o(empty_lo) + ); + bsg_mem_1r1w #( + .width_p(1 * (((0 + vaddr_width_p) + 3) + (((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))))), + .els_p(fe_cmd_fifo_els_p) + ) fifo_mem( + .w_clk_i(clk_i), + .w_reset_i(reset_i), + .w_v_i(enq), + .w_addr_i(wptr_r), + .w_data_i(fe_cmd_i), + .r_v_i(fe_cmd_v_o), + .r_addr_i(rptr_r), + .r_data_o(fe_cmd_o) + ); + assign fe_cmd_v_o = ~empty_lo; + wire almost_full = rptr_r == (wptr_r + 1'b1); + wire almost_empty = rptr_r == (wptr_r - 1'b1); + assign empty_r_o = empty_lo; + assign empty_n_o = (empty_lo | (almost_empty & deq)) & ~enq; + assign full_r_o = full_lo; + assign full_n_o = (full_lo | (almost_full & enq)) & ~deq; +endmodule +module bp_be_detector ( + clk_i, + reset_i, + issue_pkt_i, + cmd_full_i, + credits_full_i, + credits_empty_i, + idiv_busy_i, + fdiv_busy_i, + mem_busy_i, + mem_ordered_i, + hazard_v_o, + ordered_v_o, + dispatch_pkt_i, + commit_pkt_i, + late_wb_pkt_i, + late_wb_yumi_i, + ispec_v_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + input clk_i; + input reset_i; + input [issue_pkt_width_lp - 1:0] issue_pkt_i; + input cmd_full_i; + input credits_full_i; + input credits_empty_i; + input idiv_busy_i; + input fdiv_busy_i; + input mem_busy_i; + input mem_ordered_i; + output wire hazard_v_o; + output wire ordered_v_o; + input [dispatch_pkt_width_lp - 1:0] dispatch_pkt_i; + input [commit_pkt_width_lp - 1:0] commit_pkt_i; + input [78:0] late_wb_pkt_i; + input late_wb_yumi_i; + output wire ispec_v_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((((19 + vaddr_width_p) + 32) + fetch_ptr_p) + 122) + branch_metadata_fwd_width_p) - 1:0] issue_pkt_cast_i; + assign issue_pkt_cast_i = issue_pkt_i; + wire [(((4 + vaddr_width_p) + 32) + fetch_ptr_p) + 287:0] dispatch_pkt_cast_i; + assign dispatch_pkt_cast_i = dispatch_pkt_i; + wire [(((((((3 + fetch_ptr_p) + 2) + vaddr_width_p) + vaddr_width_p) + vaddr_width_p) + 32) + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))) + 20:0] commit_pkt_cast_i; + assign commit_pkt_cast_i = commit_pkt_i; + wire [78:0] late_wb_pkt_cast_i; + assign late_wb_pkt_cast_i = late_wb_pkt_i; + reg irs1_sb_raw_haz_v; + reg irs2_sb_raw_haz_v; + reg ird_sb_waw_haz_v; + reg [2:0] irs1_data_haz_v; + reg [2:0] irs2_data_haz_v; + reg frs1_sb_raw_haz_v; + reg frs2_sb_raw_haz_v; + reg frs3_sb_raw_haz_v; + reg frd_sb_waw_haz_v; + reg [2:0] frs1_data_haz_v; + reg [2:0] frs2_data_haz_v; + reg [2:0] frs3_data_haz_v; + reg [2:0] rs1_match_vector; + reg [2:0] rs2_match_vector; + reg [2:0] rs3_match_vector; + reg [2:0] rd_match_vector; + reg score_rs1_match; + reg score_rs2_match; + reg score_rs3_match; + reg score_rd_match; + wire [53:0] decode; + wire [31:0] instr; + assign decode = issue_pkt_cast_i[branch_metadata_fwd_width_p + 119-:((branch_metadata_fwd_width_p + 119) >= (66 + (branch_metadata_fwd_width_p + 0)) ? ((branch_metadata_fwd_width_p + 119) - (66 + (branch_metadata_fwd_width_p + 0))) + 1 : ((66 + (branch_metadata_fwd_width_p + 0)) - (branch_metadata_fwd_width_p + 119)) + 1)]; + reg [91:0] dep_status_r; + reg fence_haz_v; + reg cmd_haz_v; + reg fflags_haz_v; + reg iscore_haz_v; + reg fscore_haz_v; + reg data_haz_v; + reg control_haz_v; + reg struct_haz_v; + wire [4:0] score_rd_li = commit_pkt_cast_i[(32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)) - 20-:5]; + wire [4:0] check_rs1_li = issue_pkt_cast_i[(32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - 12-:5]; + wire [4:0] check_rs2_li = issue_pkt_cast_i[(32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - 7-:5]; + wire [4:0] check_rs3_li = issue_pkt_cast_i[32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))-:5]; + wire [4:0] check_rd_li = issue_pkt_cast_i[(32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - 20-:5]; + wire [4:0] clear_rd_li = late_wb_pkt_cast_i[75-:5]; + wire irs1_ispec_v = (((decode[45] & rs1_match_vector[0]) & decode[53]) & ((dep_status_r[20] | dep_status_r[14]) | dep_status_r[16])) & integer_support_p[1'b1]; + wire irs2_ispec_v = (((decode[44] & rs2_match_vector[0]) & decode[53]) & ((dep_status_r[20] | dep_status_r[14]) | dep_status_r[16])) & integer_support_p[1'b1]; + wire irs2_store_v = (((decode[44] & rs2_match_vector[0]) & decode[33]) & ((dep_status_r[20] | dep_status_r[14]) | dep_status_r[16])) & integer_support_p[1'b1]; + assign ispec_v_o = irs1_ispec_v | irs2_ispec_v; + wire [1:0] irs_match_lo; + wire ird_match_lo; + wire score_int_v_li = commit_pkt_cast_i[1]; + wire clear_int_v_li = late_wb_pkt_cast_i[78] & late_wb_yumi_i; + bp_be_scoreboard #( + .bp_params_p(bp_params_p), + .num_rs_p(2) + ) int_scoreboard( + .clk_i(clk_i), + .reset_i(reset_i), + .score_v_i(score_int_v_li), + .score_rd_i(score_rd_li), + .clear_v_i(clear_int_v_li), + .clear_rd_i(clear_rd_li), + .check_rs_i({check_rs2_li, check_rs1_li}), + .check_rd_i(check_rd_li), + .rs_match_o(irs_match_lo), + .rd_match_o(ird_match_lo) + ); + wire [2:0] frs_match_lo; + wire frd_match_lo; + wire score_fp_v_li = commit_pkt_cast_i[0]; + wire clear_fp_v_li = late_wb_pkt_cast_i[77] & late_wb_yumi_i; + bp_be_scoreboard #( + .bp_params_p(bp_params_p), + .num_rs_p(3) + ) fp_scoreboard( + .clk_i(clk_i), + .reset_i(reset_i), + .score_v_i(score_fp_v_li), + .score_rd_i(score_rd_li), + .clear_v_i(clear_fp_v_li), + .clear_rd_i(clear_rd_li), + .check_rs_i({check_rs3_li, check_rs2_li, check_rs1_li}), + .check_rd_i(check_rd_li), + .rs_match_o(frs_match_lo), + .rd_match_o(frd_match_lo) + ); + always @(*) begin + if (_sv2v_0) + ; + begin : sv2v_autoblock_1 + reg signed [31:0] i; + for (i = 0; i < 3; i = i + 1) + begin + rs1_match_vector[i] = issue_pkt_cast_i[(32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - 12-:5] == dep_status_r[(i * 23) + 4-:bp_common_pkg_rv64_reg_addr_width_gp]; + rs2_match_vector[i] = issue_pkt_cast_i[(32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - 7-:5] == dep_status_r[(i * 23) + 4-:bp_common_pkg_rv64_reg_addr_width_gp]; + rs3_match_vector[i] = issue_pkt_cast_i[32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))-:5] == dep_status_r[(i * 23) + 4-:bp_common_pkg_rv64_reg_addr_width_gp]; + rd_match_vector[i] = issue_pkt_cast_i[(32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - 20-:5] == dep_status_r[(i * 23) + 4-:bp_common_pkg_rv64_reg_addr_width_gp]; + end + end + score_rs1_match = issue_pkt_cast_i[(32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - 12-:5] == score_rd_li; + score_rs2_match = issue_pkt_cast_i[(32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - 7-:5] == score_rd_li; + score_rs3_match = issue_pkt_cast_i[32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))-:5] == score_rd_li; + score_rd_match = issue_pkt_cast_i[(32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - 20-:5] == score_rd_li; + irs1_sb_raw_haz_v = decode[45] & irs_match_lo[0]; + irs2_sb_raw_haz_v = decode[44] & irs_match_lo[1]; + ird_sb_waw_haz_v = decode[40] & ird_match_lo; + frs1_sb_raw_haz_v = decode[43] & frs_match_lo[0]; + frs2_sb_raw_haz_v = decode[42] & frs_match_lo[1]; + frs3_sb_raw_haz_v = decode[41] & frs_match_lo[2]; + frd_sb_waw_haz_v = decode[39] & frd_match_lo; + iscore_haz_v = (((decode[40] & dep_status_r[6]) & rd_match_vector[0]) | ((decode[40] & dep_status_r[29]) & rd_match_vector[1])) | ((decode[40] & dep_status_r[52]) & rd_match_vector[2]); + fscore_haz_v = (((decode[39] & dep_status_r[5]) & rd_match_vector[0]) | ((decode[39] & dep_status_r[28]) & rd_match_vector[1])) | ((decode[39] & dep_status_r[51]) & rd_match_vector[2]); + irs1_data_haz_v[0] = ((decode[45] & rs1_match_vector[0]) & (((((dep_status_r[16] | dep_status_r[20]) | dep_status_r[10]) | dep_status_r[14]) | dep_status_r[12]) | dep_status_r[6])) & ~irs1_ispec_v; + irs2_data_haz_v[0] = (((decode[44] & rs2_match_vector[0]) & (((((dep_status_r[16] | dep_status_r[20]) | dep_status_r[10]) | dep_status_r[14]) | dep_status_r[12]) | dep_status_r[6])) & ~irs2_ispec_v) & ~irs2_store_v; + frs1_data_haz_v[0] = (decode[43] & rs1_match_vector[0]) & (((((dep_status_r[15] | dep_status_r[19]) | dep_status_r[13]) | dep_status_r[11]) | dep_status_r[7]) | dep_status_r[5]); + frs2_data_haz_v[0] = (decode[42] & rs2_match_vector[0]) & (((((dep_status_r[15] | dep_status_r[19]) | dep_status_r[13]) | dep_status_r[11]) | dep_status_r[7]) | dep_status_r[5]); + frs3_data_haz_v[0] = (decode[41] & rs3_match_vector[0]) & (((((dep_status_r[15] | dep_status_r[19]) | dep_status_r[13]) | dep_status_r[11]) | dep_status_r[7]) | dep_status_r[5]); + irs1_data_haz_v[1] = (decode[45] & rs1_match_vector[1]) & ((dep_status_r[35] | dep_status_r[33]) | dep_status_r[29]); + irs2_data_haz_v[1] = (decode[44] & rs2_match_vector[1]) & ((dep_status_r[35] | dep_status_r[33]) | dep_status_r[29]); + frs1_data_haz_v[1] = (decode[43] & rs1_match_vector[1]) & ((dep_status_r[34] | dep_status_r[30]) | dep_status_r[28]); + frs2_data_haz_v[1] = (decode[42] & rs2_match_vector[1]) & ((dep_status_r[34] | dep_status_r[30]) | dep_status_r[28]); + frs3_data_haz_v[1] = (decode[41] & rs3_match_vector[1]) & ((dep_status_r[34] | dep_status_r[30]) | dep_status_r[28]); + irs1_data_haz_v[2] = (decode[45] & rs1_match_vector[2]) & dep_status_r[52]; + irs2_data_haz_v[2] = (decode[44] & rs2_match_vector[2]) & dep_status_r[52]; + frs1_data_haz_v[2] = (decode[43] & rs1_match_vector[2]) & (dep_status_r[53] | dep_status_r[51]); + frs2_data_haz_v[2] = (decode[42] & rs2_match_vector[2]) & (dep_status_r[53] | dep_status_r[51]); + frs3_data_haz_v[2] = (decode[41] & rs3_match_vector[2]) & (dep_status_r[53] | dep_status_r[51]); + fence_haz_v = decode[35] & ~mem_ordered_i; + cmd_haz_v = cmd_full_i; + fflags_haz_v = (decode[29] | decode[30]) & ((((dep_status_r[21] | dep_status_r[44]) | dep_status_r[67]) | dep_status_r[90]) | fdiv_busy_i); + control_haz_v = fence_haz_v | fflags_haz_v; + data_haz_v = (((((|irs1_data_haz_v | (|irs2_data_haz_v)) | (|frs1_data_haz_v)) | (|frs2_data_haz_v)) | (|frs3_data_haz_v)) | ((irs1_sb_raw_haz_v | irs2_sb_raw_haz_v) | ird_sb_waw_haz_v)) | (((frs1_sb_raw_haz_v | frs2_sb_raw_haz_v) | frs3_sb_raw_haz_v) | frd_sb_waw_haz_v); + struct_haz_v = (((((cmd_haz_v | fscore_haz_v) | iscore_haz_v) | (mem_busy_i & decode[52])) | (mem_busy_i & decode[50])) | (fdiv_busy_i & decode[46])) | (idiv_busy_i & decode[46]); + end + assign hazard_v_o = (struct_haz_v | control_haz_v) | data_haz_v; + assign ordered_v_o = ~((mem_busy_i | fdiv_busy_i) | idiv_busy_i) & mem_ordered_i; + wire [53:0] dep_decode; + reg [22:0] dep_status_n; + assign dep_decode = dispatch_pkt_cast_i[285-:54]; + always @(*) begin + if (_sv2v_0) + ; + dep_status_n[22] = dispatch_pkt_cast_i[4 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))]; + dep_status_n[21] = (dispatch_pkt_cast_i[1 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))] | dep_decode[51]) | dep_decode[47]; + dep_status_n[18] = (dep_decode[53] & dep_decode[40]) & ~ispec_v_o; + dep_status_n[17] = dep_decode[53] & dep_decode[39]; + dep_status_n[16] = (dep_decode[53] & dep_decode[40]) & ispec_v_o; + dep_status_n[15] = dep_decode[53] & dep_decode[39]; + dep_status_n[20] = dep_decode[51] & dep_decode[40]; + dep_status_n[19] = dep_decode[51] & dep_decode[39]; + dep_status_n[14] = dep_decode[52] & dep_decode[40]; + dep_status_n[13] = dep_decode[52] & dep_decode[39]; + dep_status_n[12] = dep_decode[50] & dep_decode[40]; + dep_status_n[11] = dep_decode[50] & dep_decode[39]; + dep_status_n[10] = dep_decode[48] & dep_decode[40]; + dep_status_n[9] = dep_decode[48] & dep_decode[39]; + dep_status_n[8] = dep_decode[47] & dep_decode[40]; + dep_status_n[7] = dep_decode[47] & dep_decode[39]; + dep_status_n[6] = dep_decode[46] & dep_decode[40]; + dep_status_n[5] = dep_decode[46] & dep_decode[39]; + dep_status_n[4-:bp_common_pkg_rv64_reg_addr_width_gp] = dispatch_pkt_cast_i[(32 + (fetch_ptr_p + 287)) - 20-:5]; + end + always @(posedge clk_i) begin + dep_status_r[0+:23] <= (dispatch_pkt_cast_i[4 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))] ? dep_status_n : {23 {1'sb0}}); + dep_status_r[23+:69] <= dep_status_r[0+:69]; + end + initial _sv2v_0 = 0; +endmodule +module bp_be_director ( + clk_i, + reset_i, + cfg_bus_i, + issue_pkt_i, + expected_npc_o, + poison_isd_o, + clear_iss_o, + suppress_iss_o, + resume_o, + irq_waiting_i, + mem_busy_i, + cmd_full_n_o, + cmd_full_r_o, + fe_cmd_o, + fe_cmd_v_o, + fe_cmd_yumi_i, + br_pkt_i, + commit_pkt_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input [issue_pkt_width_lp - 1:0] issue_pkt_i; + output wire [vaddr_width_p - 1:0] expected_npc_o; + output wire poison_isd_o; + output wire clear_iss_o; + output wire suppress_iss_o; + output wire resume_o; + input irq_waiting_i; + input mem_busy_i; + output wire cmd_full_n_o; + output wire cmd_full_r_o; + output wire [fe_cmd_width_lp - 1:0] fe_cmd_o; + output wire fe_cmd_v_o; + input fe_cmd_yumi_i; + input [branch_pkt_width_lp - 1:0] br_pkt_i; + input [commit_pkt_width_lp - 1:0] commit_pkt_i; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire [(((((19 + vaddr_width_p) + 32) + fetch_ptr_p) + 122) + branch_metadata_fwd_width_p) - 1:0] issue_pkt_cast_i; + assign issue_pkt_cast_i = issue_pkt_i; + wire [(4 + vaddr_width_p) - 1:0] br_pkt_cast_i; + assign br_pkt_cast_i = br_pkt_i; + wire [(((((((3 + fetch_ptr_p) + 2) + vaddr_width_p) + vaddr_width_p) + vaddr_width_p) + 32) + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))) + 20:0] commit_pkt_cast_i; + assign commit_pkt_cast_i = commit_pkt_i; + reg [((vaddr_width_p + 3) + (((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)))) - 1:0] fe_cmd_li; + reg [(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1:0] fe_cmd_pc_redirect_operands; + reg fe_cmd_v_li; + wire cmd_empty_n_lo; + wire cmd_empty_r_lo; + wire cmd_full_n_lo; + wire cmd_full_r_lo; + reg [3:0] state_n; + reg [3:0] state_r; + wire is_freeze = state_r == 4'd0; + wire is_fencei = state_r == 4'd1; + wire is_run = state_r == 4'd2; + wire is_cmd_fence = state_r == 4'd3; + wire is_wait = state_r == 4'd4; + wire [vaddr_width_p - 1:0] npc_n; + wire [vaddr_width_p - 1:0] npc_r; + wire npc_w_v = commit_pkt_cast_i[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))] | br_pkt_cast_i[2 + (vaddr_width_p + 1)]; + assign npc_n = (commit_pkt_cast_i[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))))))] ? commit_pkt_cast_i[vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))-:((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))) >= (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21))) ? ((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))) + 1 : ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) - (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))) + 1)] : (br_pkt_cast_i[vaddr_width_p + 0] ? issue_pkt_cast_i[vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))-:((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) >= (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) ? ((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) - (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))))) + 1 : ((32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) - (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))) + 1)] : br_pkt_cast_i[vaddr_width_p - 1-:vaddr_width_p])); + bsg_dff_reset_en_bypass #(.width_p(vaddr_width_p)) npc_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(npc_w_v), + .data_i(npc_n), + .data_o(npc_r) + ); + assign expected_npc_o = npc_r; + wire npc_mismatch_v = issue_pkt_cast_i[19 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] & (expected_npc_o != issue_pkt_cast_i[vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))-:((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) >= (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) ? ((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) - (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))))) + 1 : ((32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) - (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))) + 1)]); + wire npc_match_v = issue_pkt_cast_i[19 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] & (expected_npc_o == issue_pkt_cast_i[vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))-:((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) >= (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) ? ((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) - (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))))) + 1 : ((32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) - (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))) + 1)]); + assign poison_isd_o = npc_mismatch_v; + wire btaken_pending; + wire attaboy_pending; + bsg_dff_reset_set_clear #( + .width_p(2), + .clear_over_set_p(1) + ) attaboy_pending_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i({br_pkt_cast_i[vaddr_width_p + 1], br_pkt_cast_i[2 + (vaddr_width_p + 0)]}), + .clear_i({fe_cmd_v_li, fe_cmd_v_li}), + .data_o({btaken_pending, attaboy_pending}) + ); + wire last_instr_was_branch = attaboy_pending | br_pkt_cast_i[2 + (vaddr_width_p + 0)]; + wire last_instr_was_btaken = btaken_pending | br_pkt_cast_i[vaddr_width_p + 1]; + wire fe_cmd_nonattaboy_v = fe_cmd_v_li & (fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] != 3'd2); + wire freeze_li = cfg_bus_cast_i[1 + (vaddr_width_p + (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))))] | reset_i; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (state_r) + 4'd2: state_n = (freeze_li ? 4'd0 : (commit_pkt_cast_i[10] ? 4'd4 : (commit_pkt_cast_i[13] ? 4'd1 : (fe_cmd_nonattaboy_v ? 4'd3 : state_r)))); + 4'd0, 4'd1, 4'd4: state_n = (commit_pkt_cast_i[15] ? 4'd3 : state_r); + default: state_n = (cmd_empty_r_lo ? 4'd2 : state_r); + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 4'd0; + else + state_r <= state_n; + assign suppress_iss_o = (!is_run || cmd_full_r_lo) || commit_pkt_cast_i[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]; + assign clear_iss_o = is_cmd_fence & cmd_empty_r_lo; + assign resume_o = ((is_freeze & ~freeze_li) || (is_wait & irq_waiting_i)) || (is_fencei & ~mem_busy_i); + always @(*) begin + if (_sv2v_0) + ; + fe_cmd_li = 'b0; + fe_cmd_v_li = 1'b0; + fe_cmd_pc_redirect_operands = 1'sb0; + if (commit_pkt_cast_i[15]) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = (is_freeze ? 3'd0 : (is_fencei ? 3'd4 : 3'd1)); + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = npc_n; + fe_cmd_pc_redirect_operands[((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1-:((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0) ? ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) + 1)] = commit_pkt_cast_i[20-:2]; + fe_cmd_pc_redirect_operands[((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 2] = commit_pkt_cast_i[18]; + fe_cmd_pc_redirect_operands[3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] = 3'd6; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1))-:((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))] = fe_cmd_pc_redirect_operands; + fe_cmd_v_li = 1'b1; + end + else if (commit_pkt_cast_i[3]) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = 3'd5; + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = commit_pkt_cast_i[vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))-:((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))) >= (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)) ? ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))) - (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) + 1 : ((32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) + 1)]; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)))))))-:((((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + (32 + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) - 1)))) >= (32 + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) + 0))) ? ((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)))) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0)))) + 1 : ((bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0))) - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1))))) + 1)] = commit_pkt_cast_i[((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20-:((((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20) >= 21 ? ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 0 : 22 - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))]; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1))))))-:((32 + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) - 1))) >= (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) + 0)) ? ((bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1))) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0))) + 1 : ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0)) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)))) + 1)] = commit_pkt_cast_i[32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)-:((32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)) >= (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21) ? ((32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)) - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)) + 1 : ((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21) - (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))) + 1)]; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)))))-:((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) - 1)) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) + 0) ? ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1))) + 1)] = commit_pkt_cast_i[fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))-:((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))))))) >= (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)))))) ? ((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))) - (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))))))) + 1 : ((2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))))) - (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))) + 1)]; + fe_cmd_v_li = 1'b1; + end + else if (commit_pkt_cast_i[12]) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = 3'd6; + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = commit_pkt_cast_i[vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))-:((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))) >= (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21))) ? ((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))) + 1 : ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) - (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))) + 1)]; + fe_cmd_v_li = 1'b1; + end + else if (commit_pkt_cast_i[11]) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = 3'd1; + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = commit_pkt_cast_i[vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))-:((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))) >= (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21))) ? ((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))) + 1 : ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) - (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))) + 1)]; + fe_cmd_pc_redirect_operands[3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] = 3'd5; + fe_cmd_pc_redirect_operands[((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 2] = commit_pkt_cast_i[18]; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1))-:((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))] = fe_cmd_pc_redirect_operands; + fe_cmd_v_li = 1'b1; + end + else if (commit_pkt_cast_i[10]) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = 3'd7; + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = commit_pkt_cast_i[vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))-:((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))) >= (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21))) ? ((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))) + 1 : ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) - (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))) + 1)]; + fe_cmd_v_li = 1'b1; + end + else if (commit_pkt_cast_i[8]) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = 3'd3; + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = commit_pkt_cast_i[vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))-:((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))) >= (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)) ? ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))) - (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) + 1 : ((32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) + 1)]; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((bp_common_pkg_instr_width_gp + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p))) - 1) - ((((bp_common_pkg_instr_width_gp + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p))) - 1) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1))))))-:((32 + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) - 1))) >= (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) + 0)) ? ((bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1))) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0))) + 1 : ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0)) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1)))) + 1)] = commit_pkt_cast_i[32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)-:((32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)) >= (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21) ? ((32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)) - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)) + 1 : ((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21) - (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))) + 1)]; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((bp_common_pkg_instr_width_gp + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p))) - 1) - ((((bp_common_pkg_instr_width_gp + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p))) - 1) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1)))))-:((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) - 1)) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) + 0) ? ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1)) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1))) + 1)] = commit_pkt_cast_i[fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))-:((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))))))) >= (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)))))) ? ((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))) - (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))))))) + 1 : ((2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))))) - (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))) + 1)]; + fe_cmd_v_li = 1'b1; + end + else if (commit_pkt_cast_i[14]) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = 3'd1; + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = commit_pkt_cast_i[vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))-:((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))) >= (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21))) ? ((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))) + 1 : ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) - (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))) + 1)]; + fe_cmd_pc_redirect_operands[3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] = 3'd0; + fe_cmd_pc_redirect_operands[((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1-:((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0) ? ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) + 1)] = commit_pkt_cast_i[20-:2]; + fe_cmd_pc_redirect_operands[((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 2] = commit_pkt_cast_i[18]; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1))-:((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))] = fe_cmd_pc_redirect_operands; + fe_cmd_v_li = 1'b1; + end + else if (commit_pkt_cast_i[17] | commit_pkt_cast_i[16]) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = 3'd1; + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = commit_pkt_cast_i[vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))-:((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))) >= (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21))) ? ((vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))) - (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))) + 1 : ((vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))) - (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))) + 1)]; + fe_cmd_pc_redirect_operands[3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] = (commit_pkt_cast_i[17] ? 3'd3 : 3'd1); + fe_cmd_pc_redirect_operands[((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1-:((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0) ? ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) + 1)] = commit_pkt_cast_i[20-:2]; + fe_cmd_pc_redirect_operands[((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 2] = commit_pkt_cast_i[18]; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1))-:((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))] = fe_cmd_pc_redirect_operands; + fe_cmd_v_li = 1'b1; + end + else if (npc_mismatch_v) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = 3'd1; + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = expected_npc_o; + fe_cmd_pc_redirect_operands[3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] = 3'd2; + fe_cmd_pc_redirect_operands[branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))-:((branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))) >= (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) ? ((branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))) - (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) + 1 : ((5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) - (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) + 1)] = issue_pkt_cast_i[branch_metadata_fwd_width_p - 1-:branch_metadata_fwd_width_p]; + fe_cmd_pc_redirect_operands[3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)-:((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) >= (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) ? ((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) + 1 : ((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))) + 1)] = (last_instr_was_branch ? (last_instr_was_btaken ? 2'd1 : 2'd2) : 2'd0); + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1))-:((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))] = fe_cmd_pc_redirect_operands; + fe_cmd_v_li = 1'b1; + end + else if (npc_match_v & last_instr_was_branch) begin + fe_cmd_li[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] = 3'd2; + fe_cmd_li[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] = expected_npc_o; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - (1 + (branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1))))))] = last_instr_was_btaken; + fe_cmd_li[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - (branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1)))))-:((branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1)) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) + 0) ? ((branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1)) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) + 0) - (branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1))) + 1)] = issue_pkt_cast_i[branch_metadata_fwd_width_p - 1-:branch_metadata_fwd_width_p]; + fe_cmd_v_li = 1'b1; + end + end + bp_be_cmd_queue #(.bp_params_p(bp_params_p)) fe_cmd_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .fe_cmd_i(fe_cmd_li), + .fe_cmd_v_i(fe_cmd_v_li), + .fe_cmd_o(fe_cmd_o), + .fe_cmd_v_o(fe_cmd_v_o), + .fe_cmd_yumi_i(fe_cmd_yumi_i), + .empty_n_o(cmd_empty_n_lo), + .empty_r_o(cmd_empty_r_lo), + .full_n_o(cmd_full_n_lo), + .full_r_o(cmd_full_r_lo) + ); + assign cmd_full_n_o = cmd_full_n_lo; + assign cmd_full_r_o = cmd_full_r_lo; + initial _sv2v_0 = 0; +endmodule +module bp_be_expander ( + cinstr_i, + instr_o +); + reg _sv2v_0; + localparam bp_common_pkg_cinstr_width_gp = 16; + input [15:0] cinstr_i; + localparam bp_common_pkg_instr_width_gp = 32; + output reg [31:0] instr_o; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + reg [4:0] rs1; + reg [4:0] rs2; + reg [4:0] rd; + localparam bp_common_pkg_dword_width_gp = 64; + reg [63:0] imm; + wire [11:0] zero_imm = 1'sb0; + localparam rv64_zero_addr_gp = 5'd0; + localparam rv64_link_addr_gp = 5'd1; + localparam rv64_sp_addr_gp = 5'd2; + localparam bp_common_pkg_rv64_copcode_width_gp = 2; + localparam bp_common_pkg_rv64_creg_addr_width_gp = 3; + localparam bp_common_pkg_rv64_funct2_width_gp = 2; + localparam bp_common_pkg_rv64_funct6_width_gp = 6; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_funct4_width_gp = 4; + wire [15:0] cinstr; + assign cinstr = cinstr_i; + function automatic signed [63:0] sv2v_cast_64_signed; + input reg signed [63:0] inp; + sv2v_cast_64_signed = inp; + endfunction + function automatic [63:0] sv2v_cast_64; + input reg [63:0] inp; + sv2v_cast_64 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + instr_o = cinstr_i; + casez (cinstr_i) + 16'bzzzzzzzzzzzzzz10, {4'b000z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}, {4'b001z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}, {4'b010z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}, 16'b011z00010zzzzz01, {4'b011z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}: begin + rs1 = cinstr_i[11:7]; + rs2 = cinstr_i[6:2]; + rd = cinstr_i[11:7]; + end + 16'bzzzzzzzzzzzzzz01: begin + rs1 = {2'b01, cinstr_i[9:7]}; + rs2 = {2'b01, cinstr_i[4:2]}; + rd = {2'b01, cinstr_i[9:7]}; + end + default: begin + rs1 = {2'b01, cinstr_i[9:7]}; + rs2 = {2'b01, cinstr_i[4:2]}; + rd = {2'b01, cinstr_i[4:2]}; + end + endcase + casez (cinstr_i) + 16'b011z00010zzzzz01: imm = sv2v_cast_64_signed($signed({cinstr_i[12], cinstr_i[4:3], cinstr_i[5], cinstr_i[2], cinstr_i[6], 4'b0000})); + {3'b000, {8 {1'bz}}, {3 {1'bz}}, 2'b00}: imm = sv2v_cast_64($unsigned({cinstr_i[10:7], cinstr_i[12:11], cinstr_i[5], cinstr_i[6], 2'b00})); + {4'b010z, {5 {1'bz}}, {5 {1'bz}}, 2'b10}: imm = sv2v_cast_64($unsigned({cinstr_i[3:2], cinstr_i[12], cinstr_i[6:4], 2'b00})); + {3'b001, {6 {1'bz}}, {5 {1'bz}}, 2'b10}, {4'b011z, {5 {1'bz}}, {5 {1'bz}}, 2'b10}: imm = sv2v_cast_64($unsigned({cinstr_i[4:2], cinstr_i[12], cinstr_i[6:5], 3'b000})); + {3'b110, {6 {1'bz}}, {5 {1'bz}}, 2'b10}: imm = sv2v_cast_64($unsigned({cinstr_i[8:7], cinstr_i[12:9], 2'b00})); + {3'b101, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b10}, {3'b111, {6 {1'bz}}, {5 {1'bz}}, 2'b10}: imm = sv2v_cast_64($unsigned({cinstr_i[9:7], cinstr_i[12:10], 3'b000})); + {3'b010, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}, {3'b110, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}: imm = sv2v_cast_64($unsigned({cinstr_i[5], cinstr_i[12:10], cinstr_i[6], 2'b00})); + {3'b001, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}, {3'b011, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}, {3'b101, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}, {3'b111, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}: imm = sv2v_cast_64($unsigned({cinstr_i[6:5], cinstr_i[12:10], 3'b000})); + {3'b101, {11 {1'bz}}, 2'b01}: imm = sv2v_cast_64_signed($signed({cinstr_i[12], cinstr_i[8], cinstr_i[10:9], cinstr_i[6], cinstr_i[7], cinstr_i[2], cinstr_i[11], cinstr_i[5:3], 1'b0})); + {3'b110, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01}, {3'b111, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01}: imm = sv2v_cast_64_signed($signed({cinstr_i[12], cinstr_i[6:5], cinstr_i[2], cinstr_i[11:10], cinstr_i[4:3], 1'b0})); + {4'b011z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}: imm = sv2v_cast_64_signed($signed({cinstr_i[12], cinstr_i[6:2], 12'b000000000000})); + 16'b0000000000000001, {4'b000z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}, {4'b001z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}, {4'b010z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}, {6'b100z10, {3 {1'bz}}, {5 {1'bz}}, 2'b01}: imm = sv2v_cast_64_signed($signed({cinstr_i[12], cinstr_i[6:2]})); + {4'b000z, {5 {1'bz}}, {5 {1'bz}}, 2'b10}, {6'b100z00, {3 {1'bz}}, {5 {1'bz}}, 2'b01}: imm = sv2v_cast_64($unsigned({6'b000000, cinstr_i[12], cinstr_i[6:2]})); + {6'b100z01, {3 {1'bz}}, {5 {1'bz}}, 2'b01}: imm = sv2v_cast_64($unsigned({6'b010000, cinstr_i[12], cinstr_i[6:2]})); + default: imm = 1'sb0; + endcase + casez (cinstr_i) + 16'b0000000000000000: instr_o = 1'sb0; + {3'b000, {8 {1'bz}}, {3 {1'bz}}, 2'b00}: instr_o = {imm[11:0], rv64_sp_addr_gp, 3'b000, rd, 7'b0010011}; + 16'b011z00010zzzzz01: instr_o = {imm[11:0], rv64_sp_addr_gp, 3'b000, rv64_sp_addr_gp, 7'b0010011}; + 16'b1001000000000010: instr_o = 32'b00000000000100000000000001110011; + {4'b010z, {5 {1'bz}}, {5 {1'bz}}, 2'b10}: instr_o = {imm[11:0], rv64_sp_addr_gp, 3'b010, rd, 7'b0000011}; + {4'b011z, {5 {1'bz}}, {5 {1'bz}}, 2'b10}: instr_o = {imm[11:0], rv64_sp_addr_gp, 3'b011, rd, 7'b0000011}; + {3'b110, {6 {1'bz}}, {5 {1'bz}}, 2'b10}: instr_o = {imm[11:5], rs2, rv64_sp_addr_gp, 3'b010, imm[4:0], 7'b0100011}; + {3'b111, {6 {1'bz}}, {5 {1'bz}}, 2'b10}: instr_o = {imm[11:5], rs2, rv64_sp_addr_gp, 3'b011, imm[4:0], 7'b0100011}; + {3'b001, {6 {1'bz}}, {5 {1'bz}}, 2'b10}: instr_o = {imm[11:0], rv64_sp_addr_gp, 3'b011, rd, 7'b0000111}; + {3'b101, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b10}: instr_o = {imm[11:5], rs2, rv64_sp_addr_gp, 3'b011, imm[4:0], 7'b0100111}; + {3'b010, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}: instr_o = {imm[11:0], rs1, 3'b010, rd, 7'b0000011}; + {3'b011, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}: instr_o = {imm[11:0], rs1, 3'b011, rd, 7'b0000011}; + {3'b110, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}: instr_o = {imm[11:5], rs2, rs1, 3'b010, imm[4:0], 7'b0100011}; + {3'b111, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}: instr_o = {imm[11:5], rs2, rs1, 3'b011, imm[4:0], 7'b0100011}; + {3'b001, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}: instr_o = {imm[11:0], rs1, 3'b011, rd, 7'b0000111}; + {3'b101, {3 {1'bz}}, {3 {1'bz}}, {2 {1'bz}}, {3 {1'bz}}, 2'b00}: instr_o = {imm[11:5], rs2, rs1, 3'b011, imm[4:0], 7'b0100111}; + {3'b101, {11 {1'bz}}, 2'b01}: instr_o = {imm[20], imm[10:1], imm[11], imm[19:12], rv64_zero_addr_gp, 7'b1101111}; + 16'b1000zzzzz0000010: instr_o = {zero_imm[11:0], rs1, 3'b000, rv64_zero_addr_gp, 7'b1100111}; + 16'b1001zzzzz0000010: instr_o = {zero_imm[11:0], rs1, 3'b000, rv64_link_addr_gp, 7'b1100111}; + {3'b110, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01}: instr_o = {imm[12], imm[10:5], rv64_zero_addr_gp, rs1, 3'b000, imm[4:1], imm[11], 7'b1100011}; + {3'b111, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01}: instr_o = {imm[12], imm[10:5], rv64_zero_addr_gp, rs1, 3'b001, imm[4:1], imm[11], 7'b1100011}; + {4'b010z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}: instr_o = {imm[11:0], rv64_zero_addr_gp, 3'b000, rd, 7'b0010011}; + {4'b011z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}: instr_o = {imm[31:12], rd, 7'b0110111}; + 16'b0000000000000001: instr_o = {zero_imm[11:0], rv64_zero_addr_gp, 3'b000, rv64_zero_addr_gp, 7'b0010011}; + {4'b000z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}: instr_o = {imm[11:0], rd, 3'b000, rd, 7'b0010011}; + {4'b001z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}: instr_o = {imm[11:0], rd, 3'b000, rd, 7'b0011011}; + {4'b000z, {5 {1'bz}}, {5 {1'bz}}, 2'b10}: instr_o = {imm[11:0], rd, 3'b001, rd, 7'b0010011}; + {6'b100z00, {3 {1'bz}}, {5 {1'bz}}, 2'b01}: instr_o = {imm[11:0], rd, 3'b101, rd, 7'b0010011}; + {6'b100z01, {3 {1'bz}}, {5 {1'bz}}, 2'b01}: instr_o = {imm[11:0], rd, 3'b101, rd, 7'b0010011}; + {6'b100z10, {3 {1'bz}}, {5 {1'bz}}, 2'b01}: instr_o = {imm[11:0], rd, 3'b111, rd, 7'b0010011}; + {4'b1000, {5 {1'bz}}, {5 {1'bz}}, 2'b10}: instr_o = {7'b0000000, rs2, rv64_zero_addr_gp, 3'b000, rd, 7'b0110011}; + {4'b1001, {5 {1'bz}}, {5 {1'bz}}, 2'b10}: instr_o = {7'b0000000, rs2, rd, 3'b000, rd, 7'b0110011}; + {6'b100011, {3 {1'bz}}, 2'b11, {3 {1'bz}}, 2'b01}: instr_o = {7'b0000000, rs2, rd, 3'b111, rd, 7'b0110011}; + {6'b100011, {3 {1'bz}}, 2'b10, {3 {1'bz}}, 2'b01}: instr_o = {7'b0000000, rs2, rd, 3'b110, rd, 7'b0110011}; + {6'b100011, {3 {1'bz}}, 2'b01, {3 {1'bz}}, 2'b01}: instr_o = {7'b0000000, rs2, rd, 3'b100, rd, 7'b0110011}; + {6'b100011, {3 {1'bz}}, 2'b00, {3 {1'bz}}, 2'b01}: instr_o = {7'b0100000, rs2, rd, 3'b000, rd, 7'b0110011}; + {6'b100111, {3 {1'bz}}, 2'b01, {3 {1'bz}}, 2'b01}: instr_o = {7'b0000000, rs2, rd, 3'b000, rd, 7'b0111011}; + {6'b100111, {3 {1'bz}}, 2'b00, {3 {1'bz}}, 2'b01}: instr_o = {7'b0100000, rs2, rd, 3'b000, rd, 7'b0111011}; + default: + ; + endcase + casez (cinstr_i) + {4'b010z, {5 {1'bz}}, {5 {1'bz}}, 2'b10}, {4'b011z, {5 {1'bz}}, {5 {1'bz}}, 2'b10}: instr_o = (~|cinstr_i[11:7] ? {32 {1'sb0}} : instr_o); + {4'b011z, {5 {1'bz}}, {5 {1'bz}}, 2'b01}, 16'b011z00010zzzzz01, {3'b000, {8 {1'bz}}, {3 {1'bz}}, 2'b00}: instr_o = (~|imm ? {32 {1'sb0}} : instr_o); + default: + ; + endcase + end + initial _sv2v_0 = 0; +endmodule +module bp_be_instr_decoder ( + preissue_pkt_i, + decode_info_i, + decode_o, + illegal_instr_o, + ecall_m_o, + ecall_s_o, + ecall_u_o, + ebreak_o, + dbreak_o, + dret_o, + mret_o, + sret_o, + wfi_o, + sfence_vma_o, + fencei_o, + csrw_o, + imm_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + localparam decode_width_lp = 54; + input [38:0] preissue_pkt_i; + input [12:0] decode_info_i; + output wire [53:0] decode_o; + output reg illegal_instr_o; + output reg ecall_m_o; + output reg ecall_s_o; + output reg ecall_u_o; + output reg ebreak_o; + output reg dbreak_o; + output reg dret_o; + output reg mret_o; + output reg sret_o; + output reg wfi_o; + output reg sfence_vma_o; + output reg fencei_o; + output reg csrw_o; + output reg [63:0] imm_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [38:0] preissue_pkt_cast_i; + assign preissue_pkt_cast_i = preissue_pkt_i; + wire [12:0] decode_info_cast_i; + assign decode_info_cast_i = decode_info_i; + reg [53:0] decode_cast_o; + assign decode_o = decode_cast_o; + wire [31:0] instr; + assign instr = preissue_pkt_cast_i[33-:32]; + always @(*) begin + if (_sv2v_0) + ; + decode_cast_o = 1'sb0; + decode_cast_o[45] = preissue_pkt_cast_i[38]; + decode_cast_o[44] = preissue_pkt_cast_i[37]; + decode_cast_o[43] = preissue_pkt_cast_i[36]; + decode_cast_o[42] = preissue_pkt_cast_i[35]; + decode_cast_o[41] = preissue_pkt_cast_i[34]; + illegal_instr_o = 1'sb0; + ecall_m_o = 1'sb0; + ecall_s_o = 1'sb0; + ecall_u_o = 1'sb0; + ebreak_o = 1'sb0; + dbreak_o = 1'sb0; + dret_o = 1'sb0; + mret_o = 1'sb0; + sret_o = 1'sb0; + wfi_o = 1'sb0; + sfence_vma_o = 1'sb0; + fencei_o = 1'sb0; + csrw_o = 1'sb0; + imm_o = 1'sb0; + (* full_case, parallel_case *) + casez (instr[6-:bp_common_pkg_rv64_opcode_width_gp]) + 7'b0110011, 7'b0111011: begin + if (|{(({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) | 1'bx)}) + decode_cast_o[48] = 1'b1; + else if (|{(({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011})) | 1'bx)}) begin + decode_cast_o[46] = 1'b1; + decode_cast_o[27] = 1'b1; + end + else + decode_cast_o[53] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + if (instr[6-:bp_common_pkg_rv64_opcode_width_gp] == 7'b0111011) begin + decode_cast_o[22-:2] = 2'b01; + decode_cast_o[19-:2] = (|{(({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) === ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) | 1'bx)} ? 2'b00 : 2'b01); + decode_cast_o[7-:2] = (|{(({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) === ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) | 1'bx)} ? 2'b00 : 2'b01); + end + if ((({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) === ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) | 1'bx)) + decode_cast_o[22-:2] = 2'b10; + if (|{(({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) === ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) === ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) === ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) === ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) === ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) === ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011})) === ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011})) === ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011})) | 1'bx)}) + decode_cast_o[23] = 1'b1; + if (|{(({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011})) === ({7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011} ^ {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011})) | 1'bx)}) + decode_cast_o[20] = 1'b1; + (* full_case, parallel_case *) + casez (instr) + {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011}, {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011}, {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011}, {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011}, {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011}, {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}, {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011}, {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}, {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}, {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011}, {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011}, {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}, {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}, {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}, {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011}, {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}, {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}, {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}: decode_cast_o[14-:6] = 6'b000000; + {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b000010; + {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b000011; + {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b010010; + {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b010011; + {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b010100; + {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b010101; + {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}, {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b000100; + {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}, {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011}, {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}, {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}, {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}, {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b000110; + {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011}, {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b000111; + {7'b0100100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b100000; + {7'b0100100, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b100001; + {7'b0110100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b100010; + {7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b100100; + {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011}, {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011}: decode_cast_o[14-:6] = 6'b000111; + {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b000101; + {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b000110; + {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011}: decode_cast_o[14-:6] = 6'b000111; + {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}, {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}: decode_cast_o[14-:6] = 6'b000001; + {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}, {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}: decode_cast_o[14-:6] = 6'b000010; + {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}, {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011}: decode_cast_o[14-:6] = 6'b000011; + {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011}, {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0111011}: decode_cast_o[14-:6] = 6'b000100; + default: illegal_instr_o = 1'b1; + endcase + if (|{(({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011})) === ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) === ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011})) === ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011})) === ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011})) === ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) === ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011})) === ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) === ({7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) | 1'bx)}) begin + decode_cast_o[5-:3] = 3'b000; + decode_cast_o[2-:3] = 3'b011; + decode_cast_o[24] = 1'b1; + end + if (|{(({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) === ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011})) === ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011})) === ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011})) | 1'bx)}) + decode_cast_o[2-:3] = 3'b011; + if (|{(({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011})) === ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011})) === ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011})) | 1'bx)}) begin + decode_cast_o[5-:3] = 3'b011; + decode_cast_o[2-:3] = 3'b010; + end + if (|{(({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) === ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) === ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) === ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) === ({7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0100000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) | 1'bx)}) begin + decode_cast_o[5-:3] = 3'b010; + decode_cast_o[2-:3] = 3'b100; + end + if (|{(({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011})) === ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011})) === ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0111011})) | 1'bx)}) begin + decode_cast_o[5-:3] = 3'b011; + decode_cast_o[2-:3] = 3'b110; + end + if (|{(({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) === ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) === ({7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011} ^ {7'b0110000, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0111011})) | 1'bx)}) begin + decode_cast_o[5-:3] = 3'b100; + decode_cast_o[2-:3] = 3'b100; + end + if ((({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) === ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) | 1'bx)) + decode_cast_o[2-:3] = 3'b010; + if (|{(({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011})) | 1'bx)}) + decode_cast_o[5-:3] = 3'b011; + end + 7'b0010011, 7'b0011011: begin + decode_cast_o[53] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + if (instr[6-:bp_common_pkg_rv64_opcode_width_gp] == 7'b0011011) begin + decode_cast_o[22-:2] = 2'b01; + decode_cast_o[7-:2] = ((({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) === ({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) | 1'bx) ? 2'b00 : 2'b01); + end + (* full_case, parallel_case *) + casez (instr) + {12'b011000000100, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}: decode_cast_o[22-:2] = 2'b11; + {12'b011000000101, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}: decode_cast_o[22-:2] = 2'b10; + default: + ; + endcase + (* full_case, parallel_case *) + casez (instr) + {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0010011}, {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0011011}, {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}, {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}, {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}, {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}, {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011}, {12'b011000000100, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}, {12'b011000000101, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}, {7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}, {7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011}: decode_cast_o[14-:6] = 6'b000000; + {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b000010; + {{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b000011; + {{12 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b000100; + {12'b011000zzzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}, {12'b0110000zzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011}, {{12 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b000110; + {{12 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b000111; + {12'b011000000010, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}, {12'b011000000010, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}: decode_cast_o[14-:6] = 6'b010000; + {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}, {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}, {12'b011000000000, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}, {12'b011000000000, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}: decode_cast_o[14-:6] = 6'b010001; + {12'b001010000111, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b010110; + {12'b011010111000, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b010111; + {12'b010010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b100000; + {12'b010010zzzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b100001; + {12'b011010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b100010; + {12'b001010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}: decode_cast_o[14-:6] = 6'b100100; + default: illegal_instr_o = 1'b1; + endcase + if (|{(({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011})) === ({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011})) | 1'bx), (({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) === ({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) | 1'bx)}) + decode_cast_o[5-:3] = 3'b101; + if (|{(({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011})) === ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011})) | 1'bx), (({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011})) === ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011})) | 1'bx), (({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) === ({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) | 1'bx), (({12'b011000000010, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({12'b011000000010, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000010, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({12'b011000000010, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000010, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) === ({12'b011000000010, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000010, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) | 1'bx), (({12'b011000000000, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({12'b011000000000, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000000, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({12'b011000000000, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000000, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) === ({12'b011000000000, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000000, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) | 1'bx), (({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) === ({12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b011000000001, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) | 1'bx)}) begin + decode_cast_o[23] = 1'b1; + decode_cast_o[2-:3] = 3'b010; + end + if (|{(({12'b011000000100, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({12'b011000000100, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {12'b011000000100, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({12'b011000000100, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {12'b011000000100, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011})) === ({12'b011000000100, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {12'b011000000100, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011})) | 1'bx), (({12'b011000000101, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({12'b011000000101, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {12'b011000000101, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({12'b011000000101, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {12'b011000000101, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011})) === ({12'b011000000101, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {12'b011000000101, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011})) | 1'bx)}) + decode_cast_o[2-:3] = 3'b010; + if (|{(({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011})) === ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0010011})) | 1'bx), (({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) === ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) | 1'bx), (({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) === ({12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011} ^ {12'b000010zzzzzz, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0011011})) | 1'bx)}) begin + decode_cast_o[5-:3] = 3'b011; + decode_cast_o[2-:3] = 3'b010; + end + if (|{(({12'b011000zzzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({12'b011000zzzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {12'b011000zzzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({12'b011000zzzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {12'b011000zzzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011})) === ({12'b011000zzzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {12'b011000zzzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011})) | 1'bx), (({12'b0110000zzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({12'b0110000zzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {12'b0110000zzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({12'b0110000zzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {12'b0110000zzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011})) === ({12'b0110000zzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {12'b0110000zzzzz, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011})) | 1'bx)}) begin + decode_cast_o[23] = 1'b1; + decode_cast_o[5-:3] = 3'b100; + decode_cast_o[2-:3] = 3'b100; + end + if (|{(({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011})) === ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011})) | 1'bx), (({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011})) === ({7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {7'b000000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011})) | 1'bx), (({7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011})) === ({7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011} ^ {7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0010011})) | 1'bx), (({7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ (instr ^ instr)) === (instr ^ ({7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011}))) & ((((instr ^ instr) ^ ({7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011})) === ({7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011} ^ {7'b010000z, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0011011})) | 1'bx)}) begin + decode_cast_o[5-:3] = 3'b010; + decode_cast_o[2-:3] = 3'b100; + end + if (|{(({{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0010011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0010011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0010011})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0010011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0010011})) | 1'bx), (({{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0010011} ^ (instr ^ instr)) === (instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0010011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0010011}))) & ((((instr ^ instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0010011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0010011})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0010011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0010011})) | 1'bx)}) + decode_cast_o[24] = 1'b1; + end + 7'b0110111: begin + decode_cast_o[53] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[14-:6] = 6'b000000; + decode_cast_o[5-:3] = 3'b010; + end + 7'b0010111: begin + decode_cast_o[53] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[14-:6] = 6'b000000; + end + 7'b1101111, 7'b1100111: begin + decode_cast_o[53] = 1'b1; + decode_cast_o[37] = (({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ (instr ^ instr)) === (instr ^ ({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ {{20 {1'bz}}, {5 {1'bz}}, 7'b1101111}))) & ((((instr ^ instr) ^ ({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ {{20 {1'bz}}, {5 {1'bz}}, 7'b1101111})) === ({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ {{20 {1'bz}}, {5 {1'bz}}, 7'b1101111})) | 1'bx); + decode_cast_o[36] = (({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ (instr ^ instr)) === (instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111}))) & ((((instr ^ instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111})) | 1'bx); + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[14-:6] = 6'b000000; + illegal_instr_o = ~(|{(({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ (instr ^ instr)) === (instr ^ ({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ {{20 {1'bz}}, {5 {1'bz}}, 7'b1101111}))) & ((((instr ^ instr) ^ ({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ {{20 {1'bz}}, {5 {1'bz}}, 7'b1101111})) === ({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ {{20 {1'bz}}, {5 {1'bz}}, 7'b1101111})) | 1'bx), (({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ (instr ^ instr)) === (instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111}))) & ((((instr ^ instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111})) | 1'bx)}); + end + 7'b1100011: begin + decode_cast_o[53] = 1'b1; + decode_cast_o[38] = 1'b1; + (* full_case, parallel_case *) + casez (instr) + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100011}: decode_cast_o[14-:6] = 6'b001100; + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1100011}: decode_cast_o[14-:6] = 6'b001110; + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b1100011}: decode_cast_o[14-:6] = 6'b000010; + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1100011}: decode_cast_o[14-:6] = 6'b001010; + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b1100011}: decode_cast_o[14-:6] = 6'b000011; + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b1100011}: decode_cast_o[14-:6] = 6'b001011; + default: illegal_instr_o = 1'b1; + endcase + decode_cast_o[5-:3] = 3'b000; + decode_cast_o[2-:3] = 3'b011; + decode_cast_o[24] = 1'b1; + end + 7'b0000011: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[26] = 1'b1; + decode_cast_o[27] = 1'b1; + decode_cast_o[34] = 1'b1; + decode_cast_o[28] = 1'b1; + (* full_case, parallel_case *) + casez (instr) + {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0000011}: decode_cast_o[14-:6] = 6'b000000; + {{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0000011}: decode_cast_o[14-:6] = 6'b000001; + {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0000011}: decode_cast_o[14-:6] = 6'b000010; + {{12 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0000011}: decode_cast_o[14-:6] = 6'b000100; + {{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b0000011}: decode_cast_o[14-:6] = 6'b000101; + {{12 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0000011}: decode_cast_o[14-:6] = 6'b000110; + {{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0000011}: decode_cast_o[14-:6] = 6'b000011; + default: illegal_instr_o = 1'b1; + endcase + end + 7'b0000111: begin + decode_cast_o[50] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[25] = 1'b1; + decode_cast_o[26] = 1'b1; + decode_cast_o[27] = 1'b1; + decode_cast_o[34] = 1'b1; + decode_cast_o[28] = 1'b1; + if ((({{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0000111} ^ (instr ^ instr)) === (instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0000111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0000111}))) & ((((instr ^ instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0000111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0000111})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0000111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0000111})) | 1'bx)) + decode_cast_o[8] = 1'b1; + illegal_instr_o = ~decode_info_cast_i[2]; + (* full_case, parallel_case *) + casez (instr) + {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0000111}: decode_cast_o[14-:6] = 6'b100010; + {{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0000111}: decode_cast_o[14-:6] = 6'b100011; + default: illegal_instr_o = 1'b1; + endcase + end + 7'b0100011: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[33] = 1'b1; + decode_cast_o[28] = 1'b1; + (* full_case, parallel_case *) + casez (instr) + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b0100011}: decode_cast_o[14-:6] = 6'b001000; + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b0100011}: decode_cast_o[14-:6] = 6'b001001; + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0100011}: decode_cast_o[14-:6] = 6'b001010; + {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0100011}: decode_cast_o[14-:6] = 6'b001011; + default: illegal_instr_o = 1'b1; + endcase + end + 7'b0100111: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[33] = 1'b1; + decode_cast_o[25] = 1'b1; + decode_cast_o[28] = 1'b1; + illegal_instr_o = ~decode_info_cast_i[2]; + (* full_case, parallel_case *) + casez (instr) + {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0100111}: decode_cast_o[14-:6] = 6'b100100; + {{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0100111}: decode_cast_o[14-:6] = 6'b100101; + default: illegal_instr_o = 1'b1; + endcase + end + 7'b0001111: + (* full_case, parallel_case *) + casez (instr) + 32'bzzzzzzzzzzzzzzzzz000zzzzz0001111: decode_cast_o[35] = 1'b1; + 32'bzzzzzzzzzzzzzzzzz001zzzzz0001111: begin + decode_cast_o[35] = 1'b1; + decode_cast_o[52] = !dcache_features_p[4'b0001]; + decode_cast_o[14-:6] = 6'b111110; + fencei_o = 1'b1; + end + 32'b000000000000zzzzz111000000001111: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[14-:6] = 6'b111101; + illegal_instr_o = dcache_features_p[4'b0001]; + end + 32'b000000000001zzzzz111000000001111: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[14-:6] = 6'b111110; + illegal_instr_o = dcache_features_p[4'b0001]; + end + 32'b000000000010zzzzz111000000001111: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[14-:6] = 6'b111111; + illegal_instr_o = dcache_features_p[4'b0001]; + end + 32'b000000000100zzzzz010000000001111: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[32] = 1'b1; + decode_cast_o[33] = 1'b1; + decode_cast_o[14-:6] = 6'b110000; + end + 32'b000000000001zzzzz010000000001111: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[32] = 1'b1; + decode_cast_o[14-:6] = 6'b110001; + illegal_instr_o = cce_type_p == 2'd2; + end + 32'b000000000000zzzzz010000000001111: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[32] = 1'b1; + decode_cast_o[14-:6] = 6'b110010; + illegal_instr_o = cce_type_p == 2'd2; + end + 32'b000000000010zzzzz010000000001111: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[32] = 1'b1; + decode_cast_o[14-:6] = 6'b110100; + illegal_instr_o = cce_type_p == 2'd2; + end + 32'bzzzzzzz00000zzzzz110000000010011: + ; + 32'bzzzzzzz00001zzzzz110000000010011: + ; + 32'bzzzzzzz00011zzzzz110000000010011: + ; + default: illegal_instr_o = 1'b1; + endcase + 7'b1110011: begin + decode_cast_o[49] = 1'b1; + (* full_case, parallel_case *) + casez (instr) + 32'b00000000000000000000000001110011: begin + ecall_m_o = decode_info_cast_i[10]; + ecall_s_o = decode_info_cast_i[11]; + ecall_u_o = decode_info_cast_i[12]; + end + 32'b00000000000100000000000001110011: begin + dbreak_o = ((decode_info_cast_i[9] | (decode_info_cast_i[5] & decode_info_cast_i[10])) | (decode_info_cast_i[4] & decode_info_cast_i[11])) | (decode_info_cast_i[3] & decode_info_cast_i[12]); + ebreak_o = ~dbreak_o; + end + 32'b01111011001000000000000001110011: begin + illegal_instr_o = ~decode_info_cast_i[9]; + dret_o = ~illegal_instr_o; + end + 32'b00110000001000000000000001110011: begin + illegal_instr_o = decode_info_cast_i[11] | decode_info_cast_i[12]; + mret_o = ~illegal_instr_o; + end + 32'b00010000001000000000000001110011: begin + illegal_instr_o = decode_info_cast_i[12] | (decode_info_cast_i[8] & decode_info_cast_i[11]); + sret_o = ~illegal_instr_o; + end + 32'b00010000010100000000000001110011: begin + illegal_instr_o = decode_info_cast_i[7]; + wfi_o = ~illegal_instr_o & ~decode_info_cast_i[9]; + end + 32'b0001001zzzzzzzzzz000000001110011: begin + decode_cast_o[35] = 1'b1; + illegal_instr_o = (decode_info_cast_i[11] & decode_info_cast_i[6]) | decode_info_cast_i[12]; + sfence_vma_o = ~illegal_instr_o; + end + {{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011}, {{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011}, {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1110011}, {{12 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b1110011}, {{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b1110011}, {{12 {1'bz}}, {5 {1'bz}}, 3'b111, {5 {1'bz}}, 7'b1110011}: begin + decode_cast_o[30] = |{(({{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011} ^ (instr ^ instr)) === (instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011}))) & ((((instr ^ instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011})) | 1'bx), (({{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011} ^ (instr ^ instr)) === (instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011}))) & ((((instr ^ instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011})) | 1'bx)} || (instr[19-:5] != {5 {1'sb0}}); + decode_cast_o[29] = ~(|{(({{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011} ^ (instr ^ instr)) === (instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011}))) & ((((instr ^ instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1110011})) | 1'bx), (({{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011} ^ (instr ^ instr)) === (instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011}))) & ((((instr ^ instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b101, {5 {1'bz}}, 7'b1110011})) | 1'bx)}) || (instr[11-:5] != {5 {1'sb0}}); + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + csrw_o = decode_cast_o[30]; + casez (instr[31-:12]) + 12'h003, 12'h001, 12'h002: illegal_instr_o = !decode_info_cast_i[2]; + 12'hc00: illegal_instr_o = !decode_info_cast_i[1]; + 12'hc02: illegal_instr_o = !decode_info_cast_i[0]; + 12'h180: illegal_instr_o = decode_info_cast_i[11] & decode_info_cast_i[6]; + 12'b11zzzzzzzzzz: illegal_instr_o = csrw_o; + 12'bzz01zzzzzzzz: illegal_instr_o = decode_info_cast_i[12]; + 12'bzz10zzzzzzzz: illegal_instr_o = decode_info_cast_i[11] | decode_info_cast_i[12]; + 12'bzz11zzzzzzzz: illegal_instr_o = decode_info_cast_i[11] | decode_info_cast_i[12]; + endcase + end + default: illegal_instr_o = 1'b1; + endcase + end + 7'b1010011: begin + illegal_instr_o = ~decode_info_cast_i[2]; + if (|{(({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011})) === ({7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011} ^ {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ {7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ {7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011})) === ({7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ {7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ {7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ {7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011})) === ({7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ {7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011} ^ {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011} ^ {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011})) === ({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011} ^ {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011})) === ({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011} ^ {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011})) === ({7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011} ^ {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011})) | 1'bx), (instr | 32'b00000000000011111000111110000000) == 32'b11100000000011111001111111010011, (({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011})) === ({7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011})) === ({7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b0001000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b0001000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0001000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b0001000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0001000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011})) === ({7'b0001000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0001000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011})) | 1'bx), (({7'b0001100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ (instr ^ instr)) === (instr ^ ({7'b0001100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0001100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}))) & ((((instr ^ instr) ^ ({7'b0001100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0001100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011})) === ({7'b0001100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011} ^ {7'b0001100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011})) | 1'bx), (instr | 32'b00000000000011111111111110000000) == 32'b01011000000011111111111111010011}) begin + decode_cast_o[17] = 1'b1; + decode_cast_o[16] = 1'b1; + decode_cast_o[8] = 1'b1; + end + (* full_case, parallel_case *) + casez (instr) + 32'b010000000001zzzzzzzzzzzzz1010011, 32'b010000100000zzzzzzzzzzzzz1010011: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[14-:6] = 6'b000000; + decode_cast_o[17] = ((instr | 32'b00000000000011111111111110000000) == 32'b01000000000111111111111111010011 ? 1'b0 : 1'b1); + decode_cast_o[16] = ((instr | 32'b00000000000011111111111110000000) == 32'b01000000000111111111111111010011 ? 1'b0 : 1'b1); + decode_cast_o[8] = ((instr | 32'b00000000000011111111111110000000) == 32'b01000010000011111111111111010011 ? 1'b0 : 1'b1); + end + 32'b110000000000zzzzzzzzzzzzz1010011, 32'b110000000010zzzzzzzzzzzzz1010011, 32'b110000100000zzzzzzzzzzzzz1010011, 32'b110000100010zzzzzzzzzzzzz1010011: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[14-:6] = 6'b000001; + decode_cast_o[17] = (|{(instr | 32'b00000000000011111111111110000000) == 32'b11000000000011111111111111010011, (instr | 32'b00000000000011111111111110000000) == 32'b11000000001011111111111111010011} ? 1'b1 : 1'b0); + decode_cast_o[7-:2] = (|{(instr | 32'b00000000000011111111111110000000) == 32'b11000000000011111111111111010011, (instr | 32'b00000000000011111111111110000000) == 32'b11000010000011111111111111010011} ? 2'b01 : 2'b00); + end + 32'b110000000001zzzzzzzzzzzzz1010011, 32'b110000000011zzzzzzzzzzzzz1010011, 32'b110000100001zzzzzzzzzzzzz1010011, 32'b110000100011zzzzzzzzzzzzz1010011: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[14-:6] = 6'b000011; + decode_cast_o[17] = (|{(instr | 32'b00000000000011111111111110000000) == 32'b11000000000111111111111111010011, (instr | 32'b00000000000011111111111110000000) == 32'b11000000001111111111111111010011} ? 1'b1 : 1'b0); + decode_cast_o[7-:2] = (|{(instr | 32'b00000000000011111111111110000000) == 32'b11000000000111111111111111010011, (instr | 32'b00000000000011111111111110000000) == 32'b11000010000111111111111111010011} ? 2'b01 : 2'b00); + end + 32'b110100000000zzzzzzzzzzzzz1010011, 32'b110100000010zzzzzzzzzzzzz1010011, 32'b110100100000zzzzzzzzzzzzz1010011, 32'b110100100010zzzzzzzzzzzzz1010011: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[14-:6] = 6'b000010; + decode_cast_o[22-:2] = (|{(instr | 32'b00000000000011111111111110000000) == 32'b11010000000011111111111111010011, (instr | 32'b00000000000011111111111110000000) == 32'b11010010000011111111111111010011} ? 2'b01 : 2'b00); + decode_cast_o[8] = (|{(instr | 32'b00000000000011111111111110000000) == 32'b11010000000011111111111111010011, (instr | 32'b00000000000011111111111110000000) == 32'b11010000001011111111111111010011} ? 1'b1 : 1'b0); + end + 32'b110100000001zzzzzzzzzzzzz1010011, 32'b110100000011zzzzzzzzzzzzz1010011, 32'b110100100001zzzzzzzzzzzzz1010011, 32'b110100100011zzzzzzzzzzzzz1010011: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[23] = 1'b1; + decode_cast_o[14-:6] = 6'b000100; + decode_cast_o[22-:2] = (|{(instr | 32'b00000000000011111111111110000000) == 32'b11010000000111111111111111010011, (instr | 32'b00000000000011111111111110000000) == 32'b11010010000111111111111111010011} ? 2'b01 : 2'b00); + decode_cast_o[8] = (|{(instr | 32'b00000000000011111111111110000000) == 32'b11010000000111111111111111010011, (instr | 32'b00000000000011111111111110000000) == 32'b11010000001111111111111111010011} ? 1'b1 : 1'b0); + end + 32'b111000000000zzzzz000zzzzz1010011, 32'b111000100000zzzzz000zzzzz1010011: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[25] = 1'b1; + decode_cast_o[14-:6] = 6'b000110; + decode_cast_o[17] = ((instr | 32'b00000000000011111000111110000000) == 32'b11100000000011111000111111010011 ? 1'b1 : 1'b0); + decode_cast_o[7-:2] = ((instr | 32'b00000000000011111000111110000000) == 32'b11100000000011111000111111010011 ? 2'b01 : 2'b00); + end + 32'b111100000000zzzzz000zzzzz1010011, 32'b111100100000zzzzz000zzzzz1010011: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[25] = 1'b1; + decode_cast_o[14-:6] = 6'b000101; + decode_cast_o[22-:2] = ((instr | 32'b00000000000011111000111110000000) == 32'b11110000000011111000111111010011 ? 2'b01 : 2'b00); + decode_cast_o[8] = ((instr | 32'b00000000000011111000111110000000) == 32'b11110000000011111000111111010011 ? 1'b1 : 1'b0); + end + {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011}, {7'b0010001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[25] = 1'b1; + decode_cast_o[14-:6] = 6'b000111; + end + {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011}, {7'b0010001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[25] = 1'b1; + decode_cast_o[14-:6] = 6'b001000; + end + {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011}, {7'b0010001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[25] = 1'b1; + decode_cast_o[14-:6] = 6'b001001; + end + {7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011}, {7'b0010101, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[14-:6] = 6'b001110; + end + {7'b0010100, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011}, {7'b0010101, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[14-:6] = 6'b001101; + end + {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011}, {7'b1010001, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[14-:6] = 6'b001010; + end + {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011}, {7'b1010001, {5 {1'bz}}, {5 {1'bz}}, 3'b001, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[14-:6] = 6'b001011; + end + {7'b1010000, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011}, {7'b1010001, {5 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[14-:6] = 6'b001100; + end + 32'b111000000000zzzzz001zzzzz1010011, 32'b111000100000zzzzz001zzzzz1010011: begin + decode_cast_o[51] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[14-:6] = 6'b001111; + end + {7'b0000000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}, {7'b0000001, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[47] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[14-:6] = 6'b000000; + end + {7'b0000100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}, {7'b0000101, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[47] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[14-:6] = 6'b000001; + end + {7'b0001000, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}, {7'b0001001, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[47] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[14-:6] = 6'b000010; + end + {7'b0001100, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}, {7'b0001101, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1010011}: begin + decode_cast_o[46] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[27] = 1'b1; + decode_cast_o[14-:6] = 6'b001000; + end + 32'b010110000000zzzzzzzzzzzzz1010011, 32'b010110100000zzzzzzzzzzzzz1010011: begin + decode_cast_o[46] = 1'b1; + decode_cast_o[39] = 1'b1; + decode_cast_o[27] = 1'b1; + decode_cast_o[14-:6] = 6'b001001; + end + default: illegal_instr_o = 1'b1; + endcase + end + 7'b1000011, 7'b1000111, 7'b1001011, 7'b1001111: begin + decode_cast_o[47] = 1'b1; + decode_cast_o[39] = 1'b1; + if (instr[26-:2] == 1'b0) begin + decode_cast_o[17] = 1'b1; + decode_cast_o[16] = 1'b1; + decode_cast_o[15] = 1'b1; + decode_cast_o[8] = 1'b1; + end + casez (instr[6-:bp_common_pkg_rv64_opcode_width_gp]) + 7'b1000011: decode_cast_o[14-:6] = 6'b000011; + 7'b1000111: decode_cast_o[14-:6] = 6'b000100; + 7'b1001011: decode_cast_o[14-:6] = 6'b000101; + 7'b1001111: decode_cast_o[14-:6] = 6'b000110; + default: decode_cast_o[14-:6] = 6'b000011; + endcase + illegal_instr_o = ~decode_info_cast_i[2]; + end + 7'b0101111: begin + decode_cast_o[52] = 1'b1; + decode_cast_o[40] = instr[11-:5] != {5 {1'sb0}}; + decode_cast_o[26] = 1'b1; + decode_cast_o[27] = 1'b1; + decode_cast_o[34] = |{(instr | 32'b00000110000011111000111110000000) == 32'b00010110000011111011111110101111, (instr | 32'b00000110000011111000111110000000) == 32'b00010110000011111010111110101111}; + decode_cast_o[33] = ~(|{(instr | 32'b00000110000011111000111110000000) == 32'b00010110000011111011111110101111, (instr | 32'b00000110000011111000111110000000) == 32'b00010110000011111010111110101111}); + decode_cast_o[28] = 1'b1; + (* full_case, parallel_case *) + casez (instr) + 32'b00010zz00000zzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b001101; + 32'b00010zz00000zzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b000111; + 32'b00011zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b001110; + 32'b00011zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b001100; + 32'b00001zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b011001; + 32'b00001zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b010000; + 32'b00000zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b011010; + 32'b00000zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b010001; + 32'b00100zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b011011; + 32'b00100zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b010010; + 32'b01100zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b011100; + 32'b01100zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b010011; + 32'b01000zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b011101; + 32'b01000zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b010100; + 32'b10000zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b011110; + 32'b10000zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b010101; + 32'b10100zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b011111; + 32'b10100zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b010110; + 32'b11000zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b100000; + 32'b11000zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b010111; + 32'b11100zzzzzzzzzzzz011zzzzz0101111: decode_cast_o[14-:6] = 6'b100001; + 32'b11100zzzzzzzzzzzz010zzzzz0101111: decode_cast_o[14-:6] = 6'b011000; + default: illegal_instr_o = 1'b1; + endcase + (* full_case, parallel_case *) + casez (instr) + 32'b00010zz00000zzzzz011zzzzz0101111, 32'b00010zz00000zzzzz010zzzzz0101111, 32'b00011zzzzzzzzzzzz011zzzzz0101111, 32'b00011zzzzzzzzzzzz010zzzzz0101111: illegal_instr_o = ~|{dcache_features_p[4'b0100], l2_features_p[4'b0100]}; + 32'b00001zzzzzzzzzzzz011zzzzz0101111, 32'b00001zzzzzzzzzzzz010zzzzz0101111: illegal_instr_o = ~|{dcache_features_p[4'b0101], l2_features_p[4'b0101]}; + 32'b01100zzzzzzzzzzzz011zzzzz0101111, 32'b01100zzzzzzzzzzzz010zzzzz0101111, 32'b01000zzzzzzzzzzzz011zzzzz0101111, 32'b01000zzzzzzzzzzzz010zzzzz0101111, 32'b00100zzzzzzzzzzzz011zzzzz0101111, 32'b00100zzzzzzzzzzzz010zzzzz0101111: illegal_instr_o = ~|{dcache_features_p[4'b0110], l2_features_p[4'b0110]}; + 32'b00000zzzzzzzzzzzz011zzzzz0101111, 32'b00000zzzzzzzzzzzz010zzzzz0101111, 32'b10000zzzzzzzzzzzz011zzzzz0101111, 32'b10000zzzzzzzzzzzz010zzzzz0101111, 32'b10100zzzzzzzzzzzz011zzzzz0101111, 32'b10100zzzzzzzzzzzz010zzzzz0101111, 32'b11000zzzzzzzzzzzz011zzzzz0101111, 32'b11000zzzzzzzzzzzz010zzzzz0101111, 32'b11100zzzzzzzzzzzz011zzzzz0101111, 32'b11100zzzzzzzzzzzz010zzzzz0101111: illegal_instr_o = ~|{dcache_features_p[4'b0111], l2_features_p[4'b0111]}; + default: + ; + endcase + end + default: illegal_instr_o = 1'b1; + endcase + (* full_case, parallel_case *) + casez (instr[6-:bp_common_pkg_rv64_opcode_width_gp]) + 7'b0110111, 7'b0010111: imm_o = {{32 {instr[31]}}, instr[31:12], {12 {1'b0}}}; + 7'b1101111: imm_o = {{44 {instr[31]}}, instr[19:12], instr[20], instr[30:21], 1'b0}; + 7'b1100011: imm_o = {{52 {instr[31]}}, instr[7], instr[30:25], instr[11:8], 1'b0}; + 7'b0100011, 7'b0100111: imm_o = {{53 {instr[31]}}, instr[30:25], instr[11:7]}; + 7'b1100111, 7'b0000011, 7'b0010011, 7'b0011011, 7'b0000111: imm_o = {{53 {instr[31]}}, instr[30:20]}; + default: imm_o = 1'sb0; + endcase + (* full_case, parallel_case *) + casez (instr) + {{12 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0010011}, {{12 {1'bz}}, {5 {1'bz}}, 3'b011, {5 {1'bz}}, 7'b0010011}: imm_o = ~{{53 {instr[31]}}, instr[30:20]}; + {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0110011}, {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b010, {5 {1'bz}}, 7'b0111011}: imm_o = 3'd1; + {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0110011}, {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b100, {5 {1'bz}}, 7'b0111011}: imm_o = 3'd2; + {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0110011}, {7'b0010000, {5 {1'bz}}, {5 {1'bz}}, 3'b110, {5 {1'bz}}, 7'b0111011}: imm_o = 3'd3; + default: + ; + endcase + end + initial _sv2v_0 = 0; +endmodule +module bp_be_issue_queue ( + clk_i, + reset_i, + en_i, + clr_i, + roll_i, + read_i, + read_cnt_i, + read_size_i, + cmt_i, + cmt_cnt_i, + cmt_size_i, + fe_queue_i, + fe_queue_v_i, + fe_queue_ready_and_o, + decode_info_i, + preissue_pkt_o, + issue_pkt_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + localparam entry_cinstr_gp = 2 ** fetch_sel_p; + localparam op_ptr_width_lp = $clog2({1'b0, entry_cinstr_gp} + 1); + input clk_i; + input reset_i; + input en_i; + input clr_i; + input roll_i; + input read_i; + input [op_ptr_width_lp - 1:0] read_cnt_i; + input [op_ptr_width_lp - 1:0] read_size_i; + input cmt_i; + input [op_ptr_width_lp - 1:0] cmt_cnt_i; + input [op_ptr_width_lp - 1:0] cmt_size_i; + input [fe_queue_width_lp - 1:0] fe_queue_i; + input fe_queue_v_i; + output wire fe_queue_ready_and_o; + input [12:0] decode_info_i; + output wire [38:0] preissue_pkt_o; + output wire [issue_pkt_width_lp - 1:0] issue_pkt_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((vaddr_width_p + fetch_width_p) + branch_metadata_fwd_width_p) + fetch_ptr_p) + 2:0] fe_queue_cast_i; + assign fe_queue_cast_i = fe_queue_i; + reg [38:0] preissue_pkt_cast_o; + assign preissue_pkt_o = preissue_pkt_cast_o; + reg [(((((19 + vaddr_width_p) + 32) + fetch_ptr_p) + 122) + branch_metadata_fwd_width_p) - 1:0] issue_pkt_cast_o; + assign issue_pkt_o = issue_pkt_cast_o; + localparam entry_ptr_width_lp = fetch_sel_p; + localparam mem_ptr_width_lp = ((fe_queue_fifo_els_p == 1) || (fe_queue_fifo_els_p == 0) ? 1 : $clog2(fe_queue_fifo_els_p)); + localparam ptr_width_lp = (mem_ptr_width_lp + entry_ptr_width_lp) + 1; + localparam ptr_wrap_bit_lp = ptr_width_lp - 1; + localparam ptr_base_bit_lp = entry_ptr_width_lp; + localparam ptr_slots_lp = 1 << ptr_width_lp; + wire [((1 + mem_ptr_width_lp) + entry_ptr_width_lp) - 1:0] wptr_n; + wire [((1 + mem_ptr_width_lp) + entry_ptr_width_lp) - 1:0] wptr_r; + wire [((1 + mem_ptr_width_lp) + entry_ptr_width_lp) - 1:0] rptr_n; + wire [((1 + mem_ptr_width_lp) + entry_ptr_width_lp) - 1:0] rptr_r; + wire [((1 + mem_ptr_width_lp) + entry_ptr_width_lp) - 1:0] cptr_n; + wire [((1 + mem_ptr_width_lp) + entry_ptr_width_lp) - 1:0] cptr_r; + wire ack = fe_queue_ready_and_o & fe_queue_v_i; + wire empty = rptr_r == wptr_r; + wire empty_n = rptr_n == wptr_n; + wire full = (cptr_r[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)] == wptr_r[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)]) && (cptr_r[1 + (mem_ptr_width_lp + (entry_ptr_width_lp - 1))] != wptr_r[1 + (mem_ptr_width_lp + (entry_ptr_width_lp - 1))]); + wire full_n = (cptr_n[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)] == wptr_n[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)]) && (cptr_n[1 + (mem_ptr_width_lp + (entry_ptr_width_lp - 1))] != wptr_n[1 + (mem_ptr_width_lp + (entry_ptr_width_lp - 1))]); + wire [op_ptr_width_lp - 1:0] enq; + wire [op_ptr_width_lp - 1:0] deq; + wire [op_ptr_width_lp - 1:0] read; + wire enq_catchup = 1'b1; + wire read_catchup = (rptr_r[entry_ptr_width_lp - 1-:entry_ptr_width_lp] + read_size_i) >= read_cnt_i; + wire deq_catchup = (cptr_r[entry_ptr_width_lp - 1-:entry_ptr_width_lp] + cmt_size_i) >= cmt_cnt_i; + assign enq = (ack ? (enq_catchup ? entry_cinstr_gp - wptr_r[entry_ptr_width_lp - 1-:entry_ptr_width_lp] : {op_ptr_width_lp {1'sb0}}) : {op_ptr_width_lp {1'sb0}}); + assign read = (read_i ? (read_catchup ? entry_cinstr_gp - rptr_r[entry_ptr_width_lp - 1-:entry_ptr_width_lp] : read_size_i) : {op_ptr_width_lp {1'sb0}}); + assign deq = (cmt_i ? (deq_catchup ? entry_cinstr_gp - cptr_r[entry_ptr_width_lp - 1-:entry_ptr_width_lp] : cmt_size_i) : {op_ptr_width_lp {1'sb0}}); + wire [ptr_width_lp - 1:0] wptr_jmp; + wire [ptr_width_lp - 1:0] rptr_jmp; + wire [ptr_width_lp - 1:0] cptr_jmp; + assign rptr_jmp = (clr_i ? -rptr_r : (roll_i ? (cptr_r - rptr_r) + deq : read)); + assign wptr_jmp = (clr_i ? -wptr_r : enq); + assign cptr_jmp = (clr_i ? -cptr_r : deq); + bsg_circular_ptr #( + .slots_p(ptr_slots_lp), + .max_add_p(ptr_slots_lp - 1) + ) cptr( + .clk(clk_i), + .reset_i(reset_i), + .add_i(cptr_jmp), + .o(cptr_r), + .n_o(cptr_n) + ); + bsg_circular_ptr #( + .slots_p(ptr_slots_lp), + .max_add_p(ptr_slots_lp - 1) + ) wptr( + .clk(clk_i), + .reset_i(reset_i), + .add_i(wptr_jmp), + .o(wptr_r), + .n_o(wptr_n) + ); + bsg_circular_ptr #( + .slots_p(ptr_slots_lp), + .max_add_p(ptr_slots_lp - 1) + ) rptr( + .clk(clk_i), + .reset_i(reset_i), + .add_i(rptr_jmp), + .o(rptr_r), + .n_o(rptr_n) + ); + wire [fetch_width_p - 1:0] queue_instr; + wire [fetch_width_p - 1:0] queue_instr_n; + assign queue_instr = fe_queue_cast_i[fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))-:((fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))) >= (branch_metadata_fwd_width_p + (fetch_ptr_p + 3)) ? ((fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))) - (branch_metadata_fwd_width_p + (fetch_ptr_p + 3))) + 1 : ((branch_metadata_fwd_width_p + (fetch_ptr_p + 3)) - (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2)))) + 1)]; + wire preissue_v = ((|read & ~empty_n) | roll_i) | (|enq & empty); + wire bypass_preissue = wptr_r == rptr_n; + bsg_mem_1r1w #( + .width_p(fetch_width_p), + .els_p(fe_queue_fifo_els_p) + ) preissue_fifo_mem( + .w_clk_i(clk_i), + .w_reset_i(reset_i), + .w_v_i(|enq), + .w_addr_i(wptr_r[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)]), + .w_data_i(queue_instr), + .r_v_i(~bypass_preissue), + .r_addr_i(rptr_n[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)]), + .r_data_o(queue_instr_n) + ); + wire [entry_ptr_width_lp - 1:0] preissue_entry_sel = (bypass_preissue ? wptr_r[entry_ptr_width_lp - 1-:entry_ptr_width_lp] : rptr_n[entry_ptr_width_lp - 1-:entry_ptr_width_lp]); + wire [(fetch_cinstr_p >= 0 ? ((fetch_cinstr_p + 1) * 16) - 1 : ((1 - fetch_cinstr_p) * 16) + ((fetch_cinstr_p * 16) - 1)):(fetch_cinstr_p >= 0 ? 0 : fetch_cinstr_p * 16)] queue_instr_raw; + assign queue_instr_raw[16 * (fetch_cinstr_p >= 0 ? (fetch_cinstr_p >= 0 ? 0 : fetch_cinstr_p - 1) : fetch_cinstr_p - (fetch_cinstr_p >= 0 ? 0 : fetch_cinstr_p - 1))+:16 * fetch_cinstr_p] = (bypass_preissue ? queue_instr : queue_instr_n); + assign queue_instr_raw[(fetch_cinstr_p >= 0 ? fetch_cinstr_p : fetch_cinstr_p - fetch_cinstr_p) * 16+:16] = 1'sb0; + wire [(fetch_cinstr_p * 32) - 1:0] preissue_instr; + wire [(fetch_cinstr_p * fetch_ptr_p) - 1:0] preissue_size; + genvar _gv_i_48; + generate + for (_gv_i_48 = 0; _gv_i_48 < fetch_cinstr_p; _gv_i_48 = _gv_i_48 + 1) begin : e + localparam i = _gv_i_48; + wire [31:0] instr; + wire [15:0] cinstr = queue_instr_raw[(fetch_cinstr_p >= 0 ? i : fetch_cinstr_p - i) * 16+:16]; + bp_be_expander expander( + .cinstr_i(cinstr), + .instr_o(instr) + ); + assign preissue_size[i * fetch_ptr_p+:fetch_ptr_p] = (~&cinstr[0+:2] ? 2'b01 : 2'b10); + assign preissue_instr[i * 32+:32] = (preissue_size[i * fetch_ptr_p+:fetch_ptr_p] == 2'b01 ? instr : queue_instr_raw[16 * (fetch_cinstr_p >= 0 ? (fetch_cinstr_p >= 0 ? i : i + 1) : fetch_cinstr_p - (fetch_cinstr_p >= 0 ? i : i + 1))+:32]); + end + endgenerate + always @(*) begin + if (_sv2v_0) + ; + preissue_pkt_cast_o = 1'sb0; + preissue_pkt_cast_o[1-:2] = preissue_size[preissue_entry_sel * fetch_ptr_p+:fetch_ptr_p]; + preissue_pkt_cast_o[33-:32] = preissue_instr[preissue_entry_sel * 32+:32]; + casez (preissue_instr[(preissue_entry_sel * 32) + 6-:bp_common_pkg_rv64_opcode_width_gp]) + 7'b1100111, 7'b0000011, 7'b0010011, 7'b0011011, 7'b1110011: preissue_pkt_cast_o[38] = preissue_v; + 7'b1100011, 7'b0100011, 7'b0110011, 7'b0111011, 7'b0101111: begin + preissue_pkt_cast_o[38] = preissue_v; + preissue_pkt_cast_o[37] = preissue_v; + end + 7'b0001111: + casez (preissue_pkt_cast_o[33-:32]) + 32'b000000000100zzzzz010000000001111, 32'b000000000001zzzzz010000000001111, 32'b000000000000zzzzz010000000001111, 32'b000000000010zzzzz010000000001111: begin + preissue_pkt_cast_o[38] = preissue_v; + preissue_pkt_cast_o[37] = preissue_v; + end + endcase + 7'b0000111: preissue_pkt_cast_o[38] = preissue_v; + 7'b0100111: begin + preissue_pkt_cast_o[38] = preissue_v; + preissue_pkt_cast_o[35] = preissue_v; + end + 7'b1010011: + casez (preissue_pkt_cast_o[33-:32]) + 32'b110000000000zzzzzzzzzzzzz1010011, 32'b110000000001zzzzzzzzzzzzz1010011, 32'b110000000010zzzzzzzzzzzzz1010011, 32'b110000000011zzzzzzzzzzzzz1010011, 32'b110000100000zzzzzzzzzzzzz1010011, 32'b110000100001zzzzzzzzzzzzz1010011, 32'b110000100010zzzzzzzzzzzzz1010011, 32'b110000100011zzzzzzzzzzzzz1010011, 32'b010000000001zzzzzzzzzzzzz1010011, 32'b010000100000zzzzzzzzzzzzz1010011, 32'b111000000000zzzzz000zzzzz1010011, 32'b111000100000zzzzz000zzzzz1010011, 32'b111000000000zzzzz001zzzzz1010011, 32'b111000100000zzzzz001zzzzz1010011: preissue_pkt_cast_o[36] = preissue_v; + 32'b110100000000zzzzzzzzzzzzz1010011, 32'b110100000001zzzzzzzzzzzzz1010011, 32'b110100000010zzzzzzzzzzzzz1010011, 32'b110100000011zzzzzzzzzzzzz1010011, 32'b110100100000zzzzzzzzzzzzz1010011, 32'b110100100001zzzzzzzzzzzzz1010011, 32'b110100100010zzzzzzzzzzzzz1010011, 32'b110100100011zzzzzzzzzzzzz1010011, 32'b111100000000zzzzz000zzzzz1010011, 32'b111100100000zzzzz000zzzzz1010011: preissue_pkt_cast_o[38] = preissue_v; + default: begin + preissue_pkt_cast_o[36] = preissue_v; + preissue_pkt_cast_o[35] = preissue_v; + end + endcase + 7'b1000011, 7'b1000111, 7'b1001011, 7'b1001111: begin + preissue_pkt_cast_o[36] = preissue_v; + preissue_pkt_cast_o[35] = preissue_v; + preissue_pkt_cast_o[34] = preissue_v; + end + default: + ; + endcase + end + wire [38:0] preissue_pkt_r; + bsg_dff_reset_en #(.width_p(39)) issue_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(preissue_v), + .data_i(preissue_pkt_cast_o), + .data_o(preissue_pkt_r) + ); + wire [(((vaddr_width_p + fetch_width_p) + branch_metadata_fwd_width_p) + fetch_ptr_p) + 2:0] fe_queue_lo; + wire bypass_issue = wptr_r[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)] == rptr_r[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)]; + bsg_mem_1r1w #( + .width_p(fe_queue_width_lp), + .els_p(fe_queue_fifo_els_p) + ) queue_fifo_mem( + .w_clk_i(clk_i), + .w_reset_i(reset_i), + .w_v_i(|enq), + .w_addr_i(wptr_r[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)]), + .w_data_i(fe_queue_cast_i), + .r_v_i(~bypass_issue), + .r_addr_i(rptr_r[mem_ptr_width_lp + (entry_ptr_width_lp - 1)-:((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) >= (entry_ptr_width_lp + 0) ? ((mem_ptr_width_lp + (entry_ptr_width_lp - 1)) - (entry_ptr_width_lp + 0)) + 1 : ((entry_ptr_width_lp + 0) - (mem_ptr_width_lp + (entry_ptr_width_lp - 1))) + 1)]), + .r_data_o(fe_queue_lo) + ); + assign fe_queue_ready_and_o = ~full; + wire [vaddr_width_p - 1:0] issue_pc = fe_queue_lo[vaddr_width_p + (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2)))-:((vaddr_width_p + (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2)))) >= (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 3))) ? ((vaddr_width_p + (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2)))) - (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 3)))) + 1 : ((fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 3))) - (vaddr_width_p + (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))))) + 1)] + (rptr_r[entry_ptr_width_lp - 1-:entry_ptr_width_lp] << 1'b1); + wire [31:0] issue_instr = preissue_pkt_r[33-:32]; + wire [fetch_ptr_p - 1:0] issue_size = (issue_pkt_cast_o[18 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] ? preissue_pkt_r[1-:2] : entry_ptr_width_lp); + wire [fetch_ptr_p - 1:0] issue_count = fe_queue_lo[fetch_ptr_p + 2-:((fetch_ptr_p + 2) >= 3 ? fetch_ptr_p + 0 : 4 - (fetch_ptr_p + 2))]; + wire [53:0] decoded_instr_lo; + wire [63:0] decoded_imm_lo; + wire illegal_instr_lo; + wire ecall_m_lo; + wire ecall_s_lo; + wire ecall_u_lo; + wire ebreak_lo; + wire dbreak_lo; + wire dret_lo; + wire mret_lo; + wire sret_lo; + wire wfi_lo; + wire sfence_vma_lo; + wire fencei_lo; + wire csrw_lo; + bp_be_instr_decoder #(.bp_params_p(bp_params_p)) instr_decoder( + .preissue_pkt_i(preissue_pkt_r), + .decode_info_i(decode_info_i), + .decode_o(decoded_instr_lo), + .imm_o(decoded_imm_lo), + .illegal_instr_o(illegal_instr_lo), + .ecall_m_o(ecall_m_lo), + .ecall_s_o(ecall_s_lo), + .ecall_u_o(ecall_u_lo), + .ebreak_o(ebreak_lo), + .dbreak_o(dbreak_lo), + .dret_o(dret_lo), + .mret_o(mret_lo), + .sret_o(sret_lo), + .wfi_o(wfi_lo), + .sfence_vma_o(sfence_vma_lo), + .fencei_o(fencei_lo), + .csrw_o(csrw_lo) + ); + always @(*) begin + if (_sv2v_0) + ; + issue_pkt_cast_o = 1'sb0; + issue_pkt_cast_o[19 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = en_i & ~empty; + issue_pkt_cast_o[18 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = (fe_queue_lo[2-:3] == 3'd4) & !illegal_instr_lo; + issue_pkt_cast_o[17 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = fe_queue_lo[2-:3] == 3'd0; + issue_pkt_cast_o[16 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = fe_queue_lo[2-:3] == 3'd2; + issue_pkt_cast_o[15 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = fe_queue_lo[2-:3] == 3'd1; + issue_pkt_cast_o[14 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = fe_queue_lo[2-:3] == 3'd3; + issue_pkt_cast_o[13 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = (fe_queue_lo[2-:3] == 3'd4) & illegal_instr_lo; + issue_pkt_cast_o[12 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = ecall_m_lo; + issue_pkt_cast_o[11 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = ecall_s_lo; + issue_pkt_cast_o[10 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = ecall_u_lo; + issue_pkt_cast_o[9 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = ebreak_lo; + issue_pkt_cast_o[8 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = dbreak_lo; + issue_pkt_cast_o[7 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = dret_lo; + issue_pkt_cast_o[6 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = mret_lo; + issue_pkt_cast_o[5 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = sret_lo; + issue_pkt_cast_o[4 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = wfi_lo; + issue_pkt_cast_o[3 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = sfence_vma_lo; + issue_pkt_cast_o[2 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = fencei_lo; + issue_pkt_cast_o[1 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))] = csrw_lo; + issue_pkt_cast_o[vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))-:((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) >= (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) ? ((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) - (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))))) + 1 : ((32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) - (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))) + 1)] = issue_pc; + issue_pkt_cast_o[32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))-:((32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) >= (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))) ? ((32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) + 1 : ((fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))) - (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) + 1)] = issue_instr; + issue_pkt_cast_o[56 + (branch_metadata_fwd_width_p + 65)-:((56 + (branch_metadata_fwd_width_p + 65)) >= (120 + (branch_metadata_fwd_width_p + 0)) ? ((56 + (branch_metadata_fwd_width_p + 65)) - (120 + (branch_metadata_fwd_width_p + 0))) + 1 : ((120 + (branch_metadata_fwd_width_p + 0)) - (56 + (branch_metadata_fwd_width_p + 65))) + 1)] = issue_size; + issue_pkt_cast_o[fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))-:((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) >= (122 + (branch_metadata_fwd_width_p + 0)) ? ((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) - (122 + (branch_metadata_fwd_width_p + 0))) + 1 : ((122 + (branch_metadata_fwd_width_p + 0)) - (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) + 1)] = issue_count; + issue_pkt_cast_o[branch_metadata_fwd_width_p + 119-:((branch_metadata_fwd_width_p + 119) >= (66 + (branch_metadata_fwd_width_p + 0)) ? ((branch_metadata_fwd_width_p + 119) - (66 + (branch_metadata_fwd_width_p + 0))) + 1 : ((66 + (branch_metadata_fwd_width_p + 0)) - (branch_metadata_fwd_width_p + 119)) + 1)] = decoded_instr_lo; + issue_pkt_cast_o[branch_metadata_fwd_width_p + 65-:((branch_metadata_fwd_width_p + 65) >= (branch_metadata_fwd_width_p + 0) ? ((branch_metadata_fwd_width_p + 65) - (branch_metadata_fwd_width_p + 0)) + 1 : ((branch_metadata_fwd_width_p + 0) - (branch_metadata_fwd_width_p + 65)) + 1)] = decoded_imm_lo; + issue_pkt_cast_o[branch_metadata_fwd_width_p - 1-:branch_metadata_fwd_width_p] = fe_queue_lo[branch_metadata_fwd_width_p + (fetch_ptr_p + 2)-:((branch_metadata_fwd_width_p + (fetch_ptr_p + 2)) >= (fetch_ptr_p + 3) ? ((branch_metadata_fwd_width_p + (fetch_ptr_p + 2)) - (fetch_ptr_p + 3)) + 1 : ((fetch_ptr_p + 3) - (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))) + 1)]; + end + initial _sv2v_0 = 0; +endmodule +module bp_be_regfile ( + clk_i, + reset_i, + rs_r_v_i, + rs_addr_i, + rs_data_o, + rd_w_v_i, + rd_addr_i, + rd_data_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter data_width_p = 0; + parameter read_ports_p = 0; + parameter zero_x0_p = 0; + input clk_i; + input reset_i; + input [read_ports_p - 1:0] rs_r_v_i; + localparam bp_common_pkg_reg_addr_width_gp = 5; + input [(read_ports_p * 5) - 1:0] rs_addr_i; + output wire [(read_ports_p * data_width_p) - 1:0] rs_data_o; + input rd_w_v_i; + input [4:0] rd_addr_i; + input [data_width_p - 1:0] rd_data_i; + localparam rf_els_lp = 32; + wire [read_ports_p - 1:0] rs_v_li; + wire [(read_ports_p * 5) - 1:0] rs_addr_li; + wire [(read_ports_p * data_width_p) - 1:0] rs_data_lo; + generate + if (read_ports_p == 2) begin : tworonew + bsg_mem_2r1w_sync #( + .width_p(data_width_p), + .els_p(rf_els_lp) + ) rf( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(rd_w_v_i), + .w_addr_i(rd_addr_i), + .w_data_i(rd_data_i), + .r0_v_i(rs_v_li[0]), + .r0_addr_i(rs_addr_li[0+:5]), + .r0_data_o(rs_data_lo[0+:data_width_p]), + .r1_v_i(rs_v_li[1]), + .r1_addr_i(rs_addr_li[5+:5]), + .r1_data_o(rs_data_lo[data_width_p+:data_width_p]) + ); + end + else if (read_ports_p == 3) begin : threeronew + bsg_mem_3r1w_sync #( + .width_p(data_width_p), + .els_p(rf_els_lp) + ) rf( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(rd_w_v_i), + .w_addr_i(rd_addr_i), + .w_data_i(rd_data_i), + .r0_v_i(rs_v_li[0]), + .r0_addr_i(rs_addr_li[0+:5]), + .r0_data_o(rs_data_lo[0+:data_width_p]), + .r1_v_i(rs_v_li[1]), + .r1_addr_i(rs_addr_li[5+:5]), + .r1_data_o(rs_data_lo[data_width_p+:data_width_p]), + .r2_v_i(rs_v_li[2]), + .r2_addr_i(rs_addr_li[10+:5]), + .r2_data_o(rs_data_lo[2 * data_width_p+:data_width_p]) + ); + end + else begin : error + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_be/src/v/bp_be_checker/bp_be_regfile.sv:95:7 - bp_be_regfile.error\n msg: ", "Error: unsupported number of read ports"); + end + endgenerate + wire [data_width_p - 1:0] rd_data_r; + bsg_dff #(.width_p(data_width_p)) rd_reg( + .clk_i(clk_i), + .data_i(rd_data_i), + .data_o(rd_data_r) + ); + genvar _gv_i_49; + generate + for (_gv_i_49 = 0; _gv_i_49 < read_ports_p; _gv_i_49 = _gv_i_49 + 1) begin : bypass + localparam i = _gv_i_49; + wire zero_rs_r; + wire fwd_rs_r; + wire rs_r_v_r; + wire [data_width_p - 1:0] fwd_data_lo; + wire zero_rs = (rs_r_v_i[i] & (rs_addr_i[i * 5+:5] == {5 {1'sb0}})) & (zero_x0_p == 1); + wire fwd_rs = (rd_w_v_i & rs_r_v_i[i]) & (rd_addr_i == rs_addr_i[i * 5+:5]); + bsg_dff #(.width_p(3)) rs_r_v_reg( + .clk_i(clk_i), + .data_i({zero_rs, fwd_rs, rs_r_v_i[i]}), + .data_o({zero_rs_r, fwd_rs_r, rs_r_v_r}) + ); + assign fwd_data_lo = (zero_rs_r ? {data_width_p {1'sb0}} : (fwd_rs_r ? rd_data_r : rs_data_lo[i * data_width_p+:data_width_p])); + wire [4:0] rs_addr_r; + bsg_dff_en #(.width_p(bp_common_pkg_reg_addr_width_gp)) rs_addr_reg( + .clk_i(clk_i), + .en_i(rs_r_v_i[i]), + .data_i(rs_addr_i[i * 5+:5]), + .data_o(rs_addr_r) + ); + wire [data_width_p - 1:0] rs_data_n; + wire [data_width_p - 1:0] rs_data_r; + wire replace_rs = rd_w_v_i & (rs_addr_r == rd_addr_i); + assign rs_data_n = (replace_rs ? rd_data_i : fwd_data_lo); + bsg_dff_en #(.width_p(data_width_p)) rs_data_reg( + .clk_i(clk_i), + .en_i(rs_r_v_r | replace_rs), + .data_i(rs_data_n), + .data_o(rs_data_r) + ); + assign rs_v_li[i] = rs_r_v_i[i] & ~fwd_rs; + assign rs_addr_li[i * 5+:5] = rs_addr_i[i * 5+:5]; + assign rs_data_o[i * data_width_p+:data_width_p] = (rs_r_v_r ? fwd_data_lo : rs_data_r); + end + endgenerate +endmodule +module bp_be_scheduler ( + clk_i, + reset_i, + issue_pkt_o, + expected_npc_i, + clear_iss_i, + suppress_iss_i, + resume_i, + decode_info_i, + hazard_v_i, + irq_pending_i, + ispec_v_i, + poison_isd_i, + ordered_v_i, + trans_info_i, + fe_queue_i, + fe_queue_v_i, + fe_queue_ready_and_o, + dispatch_pkt_o, + commit_pkt_i, + iwb_pkt_i, + fwb_pkt_i, + late_wb_pkt_i, + late_wb_v_i, + late_wb_force_i, + late_wb_yumi_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam bp_common_pkg_rv64_instr_width_gp = 32; + localparam preissue_pkt_width_lp = 39; + localparam bp_be_pkg_dp_exp_width_gp = 11; + localparam bp_be_pkg_dp_sig_width_gp = 53; + localparam bp_be_pkg_dpath_width_gp = 66; + localparam issue_pkt_width_lp = (((((((6 + vaddr_width_p) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 54) + bp_be_pkg_dpath_width_gp) + branch_metadata_fwd_width_p) + 13; + localparam dispatch_pkt_width_lp = ((((4 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 286; + localparam bp_be_pkg_dp_rec_width_gp = 65; + localparam bp_be_pkg_int_rec_width_gp = 65; + localparam reservation_width_lp = ((((1 + vaddr_width_p) + bp_common_pkg_rv64_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 444; + localparam branch_pkt_width_lp = 4 + vaddr_width_p; + localparam retire_pkt_width_lp = ((((71 + (2 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + 34; + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + localparam commit_pkt_width_lp = ((((((4 + ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8)) + (3 * vaddr_width_p)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + issue_ptr_p) + bp_common_pkg_rv64_priv_width_gp) + 18; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam wb_pkt_width_lp = 79; + localparam trans_info_width_lp = ((bp_common_pkg_rv64_priv_width_gp + paddr_width_p) - bp_common_pkg_page_offset_width_gp) + 3; + localparam decode_info_width_lp = 13; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + input clk_i; + input reset_i; + output wire [issue_pkt_width_lp - 1:0] issue_pkt_o; + input [vaddr_width_p - 1:0] expected_npc_i; + input clear_iss_i; + input suppress_iss_i; + input resume_i; + input [12:0] decode_info_i; + input hazard_v_i; + input irq_pending_i; + input ispec_v_i; + input poison_isd_i; + input ordered_v_i; + input [trans_info_width_lp - 1:0] trans_info_i; + input [fe_queue_width_lp - 1:0] fe_queue_i; + input fe_queue_v_i; + output wire fe_queue_ready_and_o; + output wire [dispatch_pkt_width_lp - 1:0] dispatch_pkt_o; + input [commit_pkt_width_lp - 1:0] commit_pkt_i; + input [78:0] iwb_pkt_i; + input [78:0] fwb_pkt_i; + input [78:0] late_wb_pkt_i; + input late_wb_v_i; + input late_wb_force_i; + output wire late_wb_yumi_o; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + wire [(((((19 + vaddr_width_p) + 32) + fetch_ptr_p) + 122) + branch_metadata_fwd_width_p) - 1:0] issue_pkt_cast_o; + assign issue_pkt_o = issue_pkt_cast_o; + reg [(((4 + vaddr_width_p) + 32) + fetch_ptr_p) + 287:0] dispatch_pkt_cast_o; + assign dispatch_pkt_o = dispatch_pkt_cast_o; + wire [(((((((3 + fetch_ptr_p) + 2) + vaddr_width_p) + vaddr_width_p) + vaddr_width_p) + 32) + ((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7))) + 20:0] commit_pkt_cast_i; + assign commit_pkt_cast_i = commit_pkt_i; + wire [78:0] iwb_pkt_cast_i; + assign iwb_pkt_cast_i = iwb_pkt_i; + wire [78:0] fwb_pkt_cast_i; + assign fwb_pkt_cast_i = fwb_pkt_i; + wire [78:0] late_wb_pkt_cast_i; + assign late_wb_pkt_cast_i = late_wb_pkt_i; + wire [(bp_common_pkg_rv64_priv_width_gp + (paddr_width_p - bp_common_pkg_page_offset_width_gp)) + 2:0] trans_info_cast_i; + assign trans_info_cast_i = trans_info_i; + wire ptw_busy_lo; + wire ptw_v_lo; + wire ptw_walk_lo; + wire ptw_itlb_fill_lo; + wire ptw_dtlb_fill_lo; + wire [fetch_ptr_p - 1:0] ptw_count_lo; + wire ptw_instr_page_fault_lo; + wire ptw_load_page_fault_lo; + wire ptw_store_page_fault_lo; + wire [63:0] ptw_addr_lo; + wire [63:0] ptw_pte_lo; + wire ptw_v_li = late_wb_yumi_o & late_wb_pkt_cast_i[76]; + wire [63:0] ptw_data_li = late_wb_pkt_cast_i[70-:66]; + localparam bp_common_pkg_sv39_levels_gp = 3; + localparam bp_common_pkg_sv39_page_idx_width_gp = 9; + localparam bp_common_pkg_sv39_pte_size_in_bytes_gp = 8; + localparam bp_common_pkg_sv39_pte_width_gp = 64; + bp_be_ptw #( + .bp_params_p(bp_params_p), + .pte_width_p(bp_common_pkg_sv39_pte_width_gp), + .page_table_depth_p(bp_common_pkg_sv39_levels_gp), + .pte_size_in_bytes_p(bp_common_pkg_sv39_pte_size_in_bytes_gp), + .page_idx_width_p(bp_common_pkg_sv39_page_idx_width_gp) + ) ptw( + .clk_i(clk_i), + .reset_i(reset_i), + .busy_o(ptw_busy_lo), + .commit_pkt_i(commit_pkt_cast_i), + .trans_info_i(trans_info_cast_i), + .ordered_i(ordered_v_i), + .v_o(ptw_v_lo), + .walk_o(ptw_walk_lo), + .itlb_fill_o(ptw_itlb_fill_lo), + .dtlb_fill_o(ptw_dtlb_fill_lo), + .instr_page_fault_o(ptw_instr_page_fault_lo), + .load_page_fault_o(ptw_load_page_fault_lo), + .store_page_fault_o(ptw_store_page_fault_lo), + .count_o(ptw_count_lo), + .addr_o(ptw_addr_lo), + .pte_o(ptw_pte_lo), + .v_i(ptw_v_li), + .data_i(ptw_data_li) + ); + wire writeback_v = late_wb_v_i & (late_wb_force_i | ~issue_pkt_cast_o[19 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + wire resume_v = (~writeback_v & ~ptw_busy_lo) & resume_i; + wire interrupt_v = ((~writeback_v & ~ptw_busy_lo) & ~resume_i) & irq_pending_i; + wire be_exc_not_instr_li = ((ptw_v_lo | writeback_v) | resume_v) | interrupt_v; + wire fe_exc_not_instr_li = (~be_exc_not_instr_li & issue_pkt_cast_o[19 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]) & !issue_pkt_cast_o[18 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]; + wire fe_instr_not_exc_li = (~be_exc_not_instr_li & issue_pkt_cast_o[19 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]) & issue_pkt_cast_o[18 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]; + localparam entry_cinstr_gp = 2 ** fetch_sel_p; + localparam op_ptr_width_lp = $clog2({1'b0, entry_cinstr_gp} + 1); + wire fe_queue_en_li = (~suppress_iss_i & ~ptw_busy_lo) & ~hazard_v_i; + wire fe_queue_clr_li = clear_iss_i; + wire fe_queue_roll_li = commit_pkt_cast_i[3 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]; + wire fe_queue_read_li = fe_instr_not_exc_li | fe_exc_not_instr_li; + wire [op_ptr_width_lp - 1:0] fe_queue_read_size_li = issue_pkt_cast_o[56 + (branch_metadata_fwd_width_p + 65)-:((56 + (branch_metadata_fwd_width_p + 65)) >= (120 + (branch_metadata_fwd_width_p + 0)) ? ((56 + (branch_metadata_fwd_width_p + 65)) - (120 + (branch_metadata_fwd_width_p + 0))) + 1 : ((120 + (branch_metadata_fwd_width_p + 0)) - (56 + (branch_metadata_fwd_width_p + 65))) + 1)]; + wire [op_ptr_width_lp - 1:0] fe_queue_read_cnt_li = issue_pkt_cast_o[fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))-:((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) >= (122 + (branch_metadata_fwd_width_p + 0)) ? ((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) - (122 + (branch_metadata_fwd_width_p + 0))) + 1 : ((122 + (branch_metadata_fwd_width_p + 0)) - (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) + 1)]; + wire fe_queue_cmt_li = commit_pkt_cast_i[1 + (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))]; + wire [op_ptr_width_lp - 1:0] fe_queue_cmt_size_li = commit_pkt_cast_i[2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))-:((2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20)))))) >= (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21))))) ? ((2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))) - (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))))) + 1 : ((vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))))) - (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))) + 1)]; + wire [op_ptr_width_lp - 1:0] fe_queue_cmt_cnt_li = commit_pkt_cast_i[fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))-:((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 20))))))) >= (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + 21)))))) ? ((fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20))))))) - (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21))))))) + 1 : ((2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 21)))))) - (fetch_ptr_p + (2 + (vaddr_width_p + (vaddr_width_p + (vaddr_width_p + (32 + (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + 20)))))))) + 1)]; + assign late_wb_yumi_o = writeback_v; + wire [38:0] preissue_pkt; + bp_be_issue_queue #(.bp_params_p(bp_params_p)) issue_queue( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(fe_queue_en_li), + .clr_i(fe_queue_clr_li), + .roll_i(fe_queue_roll_li), + .read_i(fe_queue_read_li), + .read_cnt_i(fe_queue_read_cnt_li), + .read_size_i(fe_queue_read_size_li), + .cmt_i(fe_queue_cmt_li), + .cmt_cnt_i(fe_queue_cmt_cnt_li), + .cmt_size_i(fe_queue_cmt_size_li), + .fe_queue_i(fe_queue_i), + .fe_queue_v_i(fe_queue_v_i), + .fe_queue_ready_and_o(fe_queue_ready_and_o), + .decode_info_i(decode_info_i), + .preissue_pkt_o(preissue_pkt), + .issue_pkt_o(issue_pkt_cast_o) + ); + wire [31:0] preissue_instr; + assign preissue_instr = preissue_pkt[33-:32]; + wire [65:0] irf_rs1; + wire [65:0] irf_rs2; + bp_be_regfile #( + .bp_params_p(bp_params_p), + .read_ports_p(2), + .zero_x0_p(1), + .data_width_p(66) + ) int_regfile( + .clk_i(clk_i), + .reset_i(reset_i), + .rd_w_v_i(iwb_pkt_cast_i[78]), + .rd_addr_i(iwb_pkt_cast_i[75-:5]), + .rd_data_i(iwb_pkt_cast_i[70-:66]), + .rs_r_v_i({preissue_pkt[37], preissue_pkt[38]}), + .rs_addr_i({preissue_instr[24-:5], preissue_instr[19-:5]}), + .rs_data_o({irf_rs2, irf_rs1}) + ); + wire [65:0] frf_rs1; + wire [65:0] frf_rs2; + wire [65:0] frf_rs3; + bp_be_regfile #( + .bp_params_p(bp_params_p), + .read_ports_p(3), + .zero_x0_p(0), + .data_width_p(66) + ) fp_regfile( + .clk_i(clk_i), + .reset_i(reset_i), + .rd_w_v_i(fwb_pkt_cast_i[77]), + .rd_addr_i(fwb_pkt_cast_i[75-:5]), + .rd_data_i(fwb_pkt_cast_i[70-:66]), + .rs_r_v_i({preissue_pkt[34], preissue_pkt[35], preissue_pkt[36]}), + .rs_addr_i({preissue_instr[31-:5], preissue_instr[24-:5], preissue_instr[19-:5]}), + .rs_data_o({frf_rs3, frf_rs2, frf_rs1}) + ); + wire [53:0] fe_exc_decode_li; + wire [31:0] fe_exc_instr_li; + wire [vaddr_width_p - 1:0] fe_exc_pc_li = issue_pkt_cast_o[vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))-:((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) >= (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) ? ((vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) - (32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))))) + 1 : ((32 + (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) - (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))) + 1)]; + wire [vaddr_width_p - 1:0] fe_exc_vaddr_li = fe_exc_pc_li + (issue_pkt_cast_o[fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))-:((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) >= (122 + (branch_metadata_fwd_width_p + 0)) ? ((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) - (122 + (branch_metadata_fwd_width_p + 0))) + 1 : ((122 + (branch_metadata_fwd_width_p + 0)) - (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) + 1)] << 1'b1); + wire [65:0] fe_exc_data_li = 1'sb0; + wire [65:0] fe_exc_imm_li = 1'sb0; + assign fe_exc_decode_li = 1'sb0; + assign fe_exc_instr_li = issue_pkt_cast_o[32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))-:((32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) >= (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))) ? ((32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) + 1 : ((fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))) - (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) + 1)]; + wire [fetch_ptr_p - 1:0] fe_exc_size_li = issue_pkt_cast_o[56 + (branch_metadata_fwd_width_p + 65)-:((56 + (branch_metadata_fwd_width_p + 65)) >= (120 + (branch_metadata_fwd_width_p + 0)) ? ((56 + (branch_metadata_fwd_width_p + 65)) - (120 + (branch_metadata_fwd_width_p + 0))) + 1 : ((120 + (branch_metadata_fwd_width_p + 0)) - (56 + (branch_metadata_fwd_width_p + 65))) + 1)]; + wire [fetch_ptr_p - 1:0] fe_exc_count_li = issue_pkt_cast_o[fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))-:((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) >= (122 + (branch_metadata_fwd_width_p + 0)) ? ((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) - (122 + (branch_metadata_fwd_width_p + 0))) + 1 : ((122 + (branch_metadata_fwd_width_p + 0)) - (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) + 1)]; + wire [53:0] be_exc_decode_li; + wire [53:0] wb_decode_li; + wire [53:0] walk_decode_li; + wire [31:0] be_exc_instr_li; + wire [31:0] wb_instr_li; + wire [65:0] be_exc_vaddr_li = (ptw_v_lo ? ptw_addr_lo : (writeback_v ? {64 {1'sb0}} : {64 {1'sb0}})); + wire [65:0] be_exc_data_li = (ptw_v_lo ? ptw_pte_lo : (writeback_v ? late_wb_pkt_cast_i[70-:66] : {64 {1'sb0}})); + wire [65:0] be_exc_imm_li = (ptw_v_lo ? {5 {1'sb0}} : (writeback_v ? late_wb_pkt_cast_i[4-:5] : 1'b0)); + assign be_exc_decode_li = (ptw_v_lo ? walk_decode_li : (writeback_v ? wb_decode_li : {54 {1'sb0}})); + assign be_exc_instr_li = (ptw_v_lo ? issue_pkt_cast_o[32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))-:((32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) >= (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))) ? ((32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) + 1 : ((fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))) - (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) + 1)] : (writeback_v ? wb_instr_li : {32 {1'sb0}})); + wire [fetch_ptr_p - 1:0] be_exc_size_li = 1'sb0; + wire [fetch_ptr_p - 1:0] be_exc_count_li = (ptw_v_lo ? ptw_count_lo : (writeback_v ? {fetch_ptr_p {1'sb0}} : {fetch_ptr_p {1'sb0}})); + function automatic [4:0] sv2v_cast_04485; + input reg [4:0] inp; + sv2v_cast_04485 = inp; + endfunction + function automatic [4:0] sv2v_cast_107C9; + input reg [4:0] inp; + sv2v_cast_107C9 = inp; + endfunction + function automatic [6:0] sv2v_cast_F824D; + input reg [6:0] inp; + sv2v_cast_F824D = inp; + endfunction + assign wb_instr_li = {sv2v_cast_04485(1'sb0), 2'b00, sv2v_cast_04485(1'sb0), sv2v_cast_04485(1'sb0), 3'b000, sv2v_cast_107C9(late_wb_pkt_cast_i[75-:5]), sv2v_cast_F824D(1'sb0)}; + assign wb_decode_li = {13'b0000000000000, late_wb_pkt_cast_i[78], late_wb_pkt_cast_i[77], 39'b000000000000000000000000000000000000000}; + assign walk_decode_li = {3'b000, ptw_walk_lo, 18'b000000000000000000, ptw_walk_lo, 31'b0000000000000000111000000000000}; + always @(*) begin + if (_sv2v_0) + ; + dispatch_pkt_cast_o = 1'sb0; + dispatch_pkt_cast_o[4 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))] = (fe_queue_read_li & ~poison_isd_i) || be_exc_not_instr_li; + dispatch_pkt_cast_o[3 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))] = fe_queue_read_li & ~poison_isd_i; + dispatch_pkt_cast_o[2 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))] = fe_instr_not_exc_li & ispec_v_i; + dispatch_pkt_cast_o[1 + (vaddr_width_p + (32 + (fetch_ptr_p + 287)))] = ptw_v_lo | writeback_v; + dispatch_pkt_cast_o[vaddr_width_p + (32 + (fetch_ptr_p + 287))-:((vaddr_width_p + (32 + (fetch_ptr_p + 287))) >= (32 + (fetch_ptr_p + 288)) ? ((vaddr_width_p + (32 + (fetch_ptr_p + 287))) - (32 + (fetch_ptr_p + 288))) + 1 : ((32 + (fetch_ptr_p + 288)) - (vaddr_width_p + (32 + (fetch_ptr_p + 287)))) + 1)] = expected_npc_i; + dispatch_pkt_cast_o[32 + (fetch_ptr_p + 287)-:((32 + (fetch_ptr_p + 287)) >= (fetch_ptr_p + 288) ? ((32 + (fetch_ptr_p + 287)) - (fetch_ptr_p + 288)) + 1 : ((fetch_ptr_p + 288) - (32 + (fetch_ptr_p + 287))) + 1)] = (be_exc_not_instr_li ? be_exc_instr_li : (fe_exc_not_instr_li ? fe_exc_instr_li : issue_pkt_cast_o[32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))-:((32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) >= (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))) ? ((32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) - (fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0)))) + 1 : ((fetch_ptr_p + (122 + (branch_metadata_fwd_width_p + 0))) - (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))))) + 1)])); + dispatch_pkt_cast_o[287-:2] = (be_exc_not_instr_li ? be_exc_size_li : (fe_exc_not_instr_li ? fe_exc_size_li : issue_pkt_cast_o[56 + (branch_metadata_fwd_width_p + 65)-:((56 + (branch_metadata_fwd_width_p + 65)) >= (120 + (branch_metadata_fwd_width_p + 0)) ? ((56 + (branch_metadata_fwd_width_p + 65)) - (120 + (branch_metadata_fwd_width_p + 0))) + 1 : ((120 + (branch_metadata_fwd_width_p + 0)) - (56 + (branch_metadata_fwd_width_p + 65))) + 1)])); + dispatch_pkt_cast_o[fetch_ptr_p + 287-:((fetch_ptr_p + 287) >= 288 ? fetch_ptr_p + 0 : 289 - (fetch_ptr_p + 287))] = (be_exc_not_instr_li ? be_exc_count_li : (fe_exc_not_instr_li ? fe_exc_count_li : issue_pkt_cast_o[fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))-:((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) >= (122 + (branch_metadata_fwd_width_p + 0)) ? ((fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65))) - (122 + (branch_metadata_fwd_width_p + 0))) + 1 : ((122 + (branch_metadata_fwd_width_p + 0)) - (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))) + 1)])); + dispatch_pkt_cast_o[231-:66] = (be_exc_not_instr_li ? be_exc_vaddr_li : (fe_exc_not_instr_li ? fe_exc_vaddr_li : (issue_pkt_cast_o[branch_metadata_fwd_width_p + 109] ? frf_rs1 : irf_rs1))); + dispatch_pkt_cast_o[165-:66] = (be_exc_not_instr_li ? be_exc_data_li : (fe_exc_not_instr_li ? fe_exc_data_li : (issue_pkt_cast_o[branch_metadata_fwd_width_p + 108] ? frf_rs2 : irf_rs2))); + dispatch_pkt_cast_o[99-:66] = (be_exc_not_instr_li ? be_exc_imm_li : (fe_exc_not_instr_li ? fe_exc_imm_li : (issue_pkt_cast_o[branch_metadata_fwd_width_p + 107] ? frf_rs3 : issue_pkt_cast_o[branch_metadata_fwd_width_p + 65-:((branch_metadata_fwd_width_p + 65) >= (branch_metadata_fwd_width_p + 0) ? ((branch_metadata_fwd_width_p + 65) - (branch_metadata_fwd_width_p + 0)) + 1 : ((branch_metadata_fwd_width_p + 0) - (branch_metadata_fwd_width_p + 65)) + 1)]))); + dispatch_pkt_cast_o[285-:54] = (be_exc_not_instr_li ? be_exc_decode_li : (fe_exc_not_instr_li ? fe_exc_decode_li : issue_pkt_cast_o[branch_metadata_fwd_width_p + 119-:((branch_metadata_fwd_width_p + 119) >= (66 + (branch_metadata_fwd_width_p + 0)) ? ((branch_metadata_fwd_width_p + 119) - (66 + (branch_metadata_fwd_width_p + 0))) + 1 : ((66 + (branch_metadata_fwd_width_p + 0)) - (branch_metadata_fwd_width_p + 119)) + 1)])); + dispatch_pkt_cast_o[31] = dispatch_pkt_cast_o[31] | (be_exc_not_instr_li & ptw_instr_page_fault_lo); + dispatch_pkt_cast_o[32] = dispatch_pkt_cast_o[32] | (be_exc_not_instr_li & ptw_load_page_fault_lo); + dispatch_pkt_cast_o[33] = dispatch_pkt_cast_o[33] | (be_exc_not_instr_li & ptw_store_page_fault_lo); + dispatch_pkt_cast_o[13] = dispatch_pkt_cast_o[13] | (be_exc_not_instr_li & ptw_itlb_fill_lo); + dispatch_pkt_cast_o[12] = dispatch_pkt_cast_o[12] | (be_exc_not_instr_li & ptw_dtlb_fill_lo); + dispatch_pkt_cast_o[19] = dispatch_pkt_cast_o[19] | (be_exc_not_instr_li & resume_v); + dispatch_pkt_cast_o[11] = dispatch_pkt_cast_o[11] | (be_exc_not_instr_li & interrupt_v); + dispatch_pkt_cast_o[21] = dispatch_pkt_cast_o[21] | (fe_exc_not_instr_li & issue_pkt_cast_o[16 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[31] = dispatch_pkt_cast_o[31] | (fe_exc_not_instr_li & issue_pkt_cast_o[15 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[18] = dispatch_pkt_cast_o[18] | (fe_exc_not_instr_li & issue_pkt_cast_o[17 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[17] = dispatch_pkt_cast_o[17] | (fe_exc_not_instr_li & issue_pkt_cast_o[14 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[22] = dispatch_pkt_cast_o[22] | (fe_exc_not_instr_li & issue_pkt_cast_o[13 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[30] = dispatch_pkt_cast_o[30] | (fe_instr_not_exc_li & issue_pkt_cast_o[12 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[29] = dispatch_pkt_cast_o[29] | (fe_instr_not_exc_li & issue_pkt_cast_o[11 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[28] = dispatch_pkt_cast_o[28] | (fe_instr_not_exc_li & issue_pkt_cast_o[10 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[23] = dispatch_pkt_cast_o[23] | (fe_instr_not_exc_li & issue_pkt_cast_o[9 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[5] = dispatch_pkt_cast_o[5] | (fe_instr_not_exc_li & issue_pkt_cast_o[8 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[4] = dispatch_pkt_cast_o[4] | (fe_instr_not_exc_li & issue_pkt_cast_o[7 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[3] = dispatch_pkt_cast_o[3] | (fe_instr_not_exc_li & issue_pkt_cast_o[6 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[2] = dispatch_pkt_cast_o[2] | (fe_instr_not_exc_li & issue_pkt_cast_o[5 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[1] = dispatch_pkt_cast_o[1] | (fe_instr_not_exc_li & issue_pkt_cast_o[4 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[6] = dispatch_pkt_cast_o[6] | (fe_instr_not_exc_li & issue_pkt_cast_o[3 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[7] = dispatch_pkt_cast_o[7] | (fe_instr_not_exc_li & issue_pkt_cast_o[2 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + dispatch_pkt_cast_o[0] = dispatch_pkt_cast_o[0] | (fe_instr_not_exc_li & issue_pkt_cast_o[1 + (vaddr_width_p + (32 + (fetch_ptr_p + (56 + (branch_metadata_fwd_width_p + 65)))))]); + end + initial _sv2v_0 = 0; +endmodule +module bp_be_scoreboard ( + clk_i, + reset_i, + score_v_i, + score_rd_i, + clear_v_i, + clear_rd_i, + check_rs_i, + check_rd_i, + rs_match_o, + rd_match_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter num_rs_p = 0; + input clk_i; + input reset_i; + input score_v_i; + localparam bp_common_pkg_reg_addr_width_gp = 5; + input [4:0] score_rd_i; + input clear_v_i; + input [4:0] clear_rd_i; + input [(num_rs_p * 5) - 1:0] check_rs_i; + input [4:0] check_rd_i; + output wire [num_rs_p - 1:0] rs_match_o; + output wire rd_match_o; + localparam rf_els_lp = 32; + wire [31:0] scoreboard_r; + wire [31:0] score_onehot_li; + bsg_decode_with_v #(.num_out_p(rf_els_lp)) score_decode( + .i(score_rd_i), + .v_i(score_v_i), + .o(score_onehot_li) + ); + wire [31:0] clear_onehot_li; + bsg_decode_with_v #(.num_out_p(rf_els_lp)) clear_decode( + .i(clear_rd_i), + .v_i(clear_v_i), + .o(clear_onehot_li) + ); + bsg_dff_reset_set_clear #( + .width_p(rf_els_lp), + .clear_over_set_p(1) + ) scoreboard_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(score_onehot_li), + .clear_i(clear_onehot_li), + .data_o(scoreboard_r) + ); + genvar _gv_i_50; + generate + for (_gv_i_50 = 0; _gv_i_50 < num_rs_p; _gv_i_50 = _gv_i_50 + 1) begin : rs + localparam i = _gv_i_50; + assign rs_match_o[i] = scoreboard_r[check_rs_i[i * 5+:5]]; + end + endgenerate + assign rd_match_o = scoreboard_r[check_rd_i]; +endmodule +module bp_be_dcache ( + clk_i, + reset_i, + busy_o, + ordered_o, + dcache_pkt_i, + v_i, + ptag_i, + ptag_v_i, + ptag_uncached_i, + ptag_dram_i, + st_data_i, + flush_i, + v_o, + data_o, + rd_addr_o, + tag_o, + unsigned_o, + int_o, + float_o, + ptw_o, + ret_o, + late_o, + cache_req_o, + cache_req_v_o, + cache_req_yumi_i, + cache_req_lock_i, + cache_req_metadata_o, + cache_req_metadata_v_o, + cache_req_id_i, + cache_req_critical_i, + cache_req_last_i, + cache_req_credits_full_i, + cache_req_credits_empty_i, + data_mem_pkt_v_i, + data_mem_pkt_i, + data_mem_pkt_yumi_o, + data_mem_o, + tag_mem_pkt_v_i, + tag_mem_pkt_i, + tag_mem_pkt_yumi_o, + tag_mem_o, + stat_mem_pkt_v_i, + stat_mem_pkt_i, + stat_mem_pkt_yumi_o, + stat_mem_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter [15:0] features_p = dcache_features_p; + parameter [15:0] amo_support_p = ((((((((((features_p[4'b0100] << 4'd1) | (features_p[4'b0100] << 4'd2)) | (features_p[4'b0101] << 4'd3)) | (features_p[4'b0111] << 4'd4)) | (features_p[4'b0110] << 4'd5)) | (features_p[4'b0110] << 4'd6)) | (features_p[4'b0110] << 4'd7)) | (features_p[4'b0111] << 4'd8)) | (features_p[4'b0111] << 4'd9)) | (features_p[4'b0111] << 4'd10)) | (features_p[4'b0111] << 4'd11); + parameter sets_p = dcache_sets_p; + parameter assoc_p = dcache_assoc_p; + parameter block_width_p = dcache_block_width_p; + parameter fill_width_p = dcache_fill_width_p; + parameter data_width_p = dcache_data_width_p; + parameter tag_width_p = dcache_tag_width_p; + parameter mshr_p = dcache_mshr_p; + parameter id_width_p = dcache_req_id_width_p; + localparam dcache_req_width_lp = ((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 8; + localparam dcache_req_metadata_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1; + localparam dcache_data_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 2; + localparam dcache_tag_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 3; + localparam dcache_tag_info_width_lp = 3 + tag_width_p; + localparam dcache_stat_mem_pkt_width_lp = (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 2; + localparam dcache_stat_info_width_lp = (2 > ((2 * assoc_p) - 1) ? 2 : (2 * assoc_p) - 1); + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + input clk_i; + input reset_i; + output wire busy_o; + output wire ordered_o; + input [dcache_pkt_width_lp - 1:0] dcache_pkt_i; + input v_i; + input [ptag_width_p - 1:0] ptag_i; + input ptag_v_i; + input ptag_uncached_i; + input ptag_dram_i; + input [data_width_p - 1:0] st_data_i; + input flush_i; + output wire v_o; + output wire [data_width_p - 1:0] data_o; + output wire [4:0] rd_addr_o; + output wire [1:0] tag_o; + output wire unsigned_o; + output wire int_o; + output wire float_o; + output wire ptw_o; + output wire ret_o; + output wire late_o; + output wire [dcache_req_width_lp - 1:0] cache_req_o; + output wire cache_req_v_o; + input cache_req_yumi_i; + input cache_req_lock_i; + output wire [dcache_req_metadata_width_lp - 1:0] cache_req_metadata_o; + output wire cache_req_metadata_v_o; + input [id_width_p - 1:0] cache_req_id_i; + input cache_req_critical_i; + input cache_req_last_i; + input cache_req_credits_full_i; + input cache_req_credits_empty_i; + input data_mem_pkt_v_i; + input [dcache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_i; + output wire data_mem_pkt_yumi_o; + output wire [block_width_p - 1:0] data_mem_o; + input tag_mem_pkt_v_i; + input [dcache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_i; + output wire tag_mem_pkt_yumi_o; + output wire [dcache_tag_info_width_lp - 1:0] tag_mem_o; + input stat_mem_pkt_v_i; + input [dcache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_i; + output wire stat_mem_pkt_yumi_o; + output wire [dcache_stat_info_width_lp - 1:0] stat_mem_o; + localparam lg_assoc_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam bank_width_lp = block_width_p / assoc_p; + localparam num_words_per_bank_lp = bank_width_lp / data_width_p; + localparam wbuf_data_mask_width_lp = data_width_p >> 3; + localparam data_mem_mask_width_lp = bank_width_lp >> 3; + localparam byte_offset_width_lp = (((bank_width_lp >> 3) == 1) || ((bank_width_lp >> 3) == 0) ? 1 : $clog2(bank_width_lp >> 3)); + localparam bindex_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam sindex_width_lp = ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)); + localparam block_size_in_fill_lp = block_width_p / fill_width_p; + localparam fill_size_in_bank_lp = fill_width_p / bank_width_lp; + localparam block_offset_width_lp = (assoc_p > 1 ? bindex_width_lp + byte_offset_width_lp : byte_offset_width_lp); + reg [1:0] state_n; + reg [1:0] state_r; + wire is_ready = state_r == 2'd0; + wire is_primary = state_r == 2'd1; + wire is_serial = state_r == 2'd2; + wire tl_we; + wire tv_we; + wire safe_tl_we; + wire safe_tv_we; + wire v_tl_r; + wire v_tv_r; + wire tag_mem_write_hazard; + wire data_mem_write_hazard; + wire blocking_hazard; + wire nonblocking_hazard; + wire fill_hazard; + wire blocking_req; + wire blocking_sent; + wire nonblocking_req; + wire nonblocking_sent; + wire lrsc_lock; + wire flush_tv = (((flush_i | tag_mem_write_hazard) | blocking_hazard) | nonblocking_hazard) | fill_hazard; + wire flush_tl = flush_tv | data_mem_write_hazard; + wire critical_recv = ((cache_req_critical_i & (~stat_mem_pkt_v_i | stat_mem_pkt_yumi_o)) & (~tag_mem_pkt_v_i | tag_mem_pkt_yumi_o)) & (~data_mem_pkt_v_i | data_mem_pkt_yumi_o); + wire complete_recv = ((cache_req_last_i & (~stat_mem_pkt_v_i | stat_mem_pkt_yumi_o)) & (~tag_mem_pkt_v_i | tag_mem_pkt_yumi_o)) & (~data_mem_pkt_v_i | data_mem_pkt_yumi_o); + wire snoop_v; + wire [block_width_p - 1:0] snoop_ld_data; + wire [paddr_width_p - 1:0] snoop_paddr; + wire [data_width_p - 1:0] snoop_st_data; + wire [(3 * assoc_p) - 1:0] snoop_hit; + wire [assoc_p - 1:0] snoop_bank_sel_one_hot; + wire [32:0] snoop_decode; + wire snoop_uncached; + wire [(11 + vaddr_width_p) - 1:0] dcache_pkt_cast_i; + assign dcache_pkt_cast_i = dcache_pkt_i; + wire [32:0] decode_lo; + bp_be_dcache_decoder #( + .bp_params_p(bp_params_p), + .amo_support_p(amo_support_p) + ) pkt_decoder( + .pkt_i(dcache_pkt_i), + .decode_o(decode_lo) + ); + wire [vaddr_width_p - 1:0] vaddr = dcache_pkt_cast_i[vaddr_width_p - 1-:vaddr_width_p]; + wire [vtag_width_p - 1:0] vaddr_vtag = vaddr[vaddr_width_p - 1-:vtag_width_p]; + wire [sindex_width_lp - 1:0] vaddr_index = vaddr[block_offset_width_lp+:sindex_width_lp]; + wire [bindex_width_lp - 1:0] vaddr_bank = vaddr[byte_offset_width_lp+:bindex_width_lp]; + wire [11:0] offset = vaddr[0+:bp_common_pkg_page_offset_width_gp]; + wire [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 2:0] tag_mem_pkt_cast_i; + assign tag_mem_pkt_cast_i = tag_mem_pkt_i; + wire tag_mem_v_li; + wire tag_mem_w_li; + wire [sindex_width_lp - 1:0] tag_mem_addr_li; + reg [(assoc_p * (3 + tag_width_p)) - 1:0] tag_mem_data_li; + reg [(assoc_p * (3 + tag_width_p)) - 1:0] tag_mem_mask_li; + wire [(assoc_p * (3 + tag_width_p)) - 1:0] tag_mem_data_lo; + bsg_mem_1rw_sync_mask_write_bit #( + .width_p(dcache_tag_info_width_lp * assoc_p), + .els_p(sets_p), + .latch_last_read_p(1) + ) tag_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(tag_mem_v_li), + .w_i(tag_mem_w_li), + .addr_i(tag_mem_addr_li), + .data_i(tag_mem_data_li), + .w_mask_i(tag_mem_mask_li), + .data_o(tag_mem_data_lo) + ); + localparam data_mem_addr_width_lp = (assoc_p > 1 ? sindex_width_lp + bindex_width_lp : sindex_width_lp); + wire [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 1:0] data_mem_pkt_cast_i; + assign data_mem_pkt_cast_i = data_mem_pkt_i; + wire [assoc_p - 1:0] data_mem_v_li; + wire [assoc_p - 1:0] data_mem_w_li; + wire [(assoc_p * data_mem_addr_width_lp) - 1:0] data_mem_addr_li; + wire [(assoc_p * bank_width_lp) - 1:0] data_mem_data_li; + wire [(assoc_p * data_mem_mask_width_lp) - 1:0] data_mem_mask_li; + wire [(assoc_p * bank_width_lp) - 1:0] data_mem_data_lo; + genvar _gv_i_51; + generate + for (_gv_i_51 = 0; _gv_i_51 < assoc_p; _gv_i_51 = _gv_i_51 + 1) begin : d + localparam i = _gv_i_51; + bsg_mem_1rw_sync_mask_write_byte #( + .data_width_p(bank_width_lp), + .els_p(sets_p * assoc_p), + .latch_last_read_p(1) + ) data_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(data_mem_v_li[i]), + .w_i(data_mem_w_li[i]), + .addr_i(data_mem_addr_li[i * data_mem_addr_width_lp+:data_mem_addr_width_lp]), + .data_i(data_mem_data_li[i * bank_width_lp+:bank_width_lp]), + .write_mask_i(data_mem_mask_li[i * data_mem_mask_width_lp+:data_mem_mask_width_lp]), + .data_o(data_mem_data_lo[i * bank_width_lp+:bank_width_lp]) + ); + end + endgenerate + wire [32:0] decode_tl_r; + wire [11:0] offset_tl_r; + assign safe_tl_we = v_i & ~busy_o; + assign tl_we = safe_tl_we & ~flush_tl; + bsg_dff_reset #(.width_p(1)) v_tl_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(tl_we), + .data_o(v_tl_r) + ); + bsg_dff #(.width_p(45)) tl_stage_reg( + .clk_i(clk_i), + .data_i({offset, decode_lo}), + .data_o({offset_tl_r, decode_tl_r}) + ); + wire [paddr_width_p - 1:0] paddr_tl = {ptag_i, offset_tl_r}; + wire [sindex_width_lp - 1:0] index_tl = paddr_tl[block_offset_width_lp+:sindex_width_lp]; + wire [bindex_width_lp - 1:0] bank_tl = paddr_tl[byte_offset_width_lp+:bindex_width_lp]; + localparam ctag_vbits_lp = bp_common_pkg_page_offset_width_gp - (block_offset_width_lp + sindex_width_lp); + wire [(ctag_vbits_lp > 1 ? ctag_vbits_lp : 1) - 1:0] ctag_vbits = offset_tl_r[11-:(ctag_vbits_lp > 1 ? ctag_vbits_lp : 1)]; + function automatic [tag_width_p - 1:0] sv2v_cast_B896A; + input reg [tag_width_p - 1:0] inp; + sv2v_cast_B896A = inp; + endfunction + wire [tag_width_p - 1:0] ctag_li = sv2v_cast_B896A((ctag_vbits_lp != 0 ? {ptag_i, ctag_vbits} : ptag_i)); + wire [paddr_width_p - 1:caddr_width_p] ptag_high_li = paddr_tl[paddr_width_p - 1:caddr_width_p]; + wire [assoc_p - 1:0] way_v_tl; + wire [assoc_p - 1:0] load_hit_tl; + wire [assoc_p - 1:0] store_hit_tl; + genvar _gv_i_52; + generate + for (_gv_i_52 = 0; _gv_i_52 < assoc_p; _gv_i_52 = _gv_i_52 + 1) begin : tag_comp_tl + localparam i = _gv_i_52; + wire tag_match_tl = (ptag_v_i & ~|ptag_high_li) & (ctag_li == tag_mem_data_lo[(i * (3 + tag_width_p)) + (tag_width_p - 1)-:tag_width_p]); + assign way_v_tl[i] = tag_mem_data_lo[(i * (3 + tag_width_p)) + (tag_width_p + 2)-:((tag_width_p + 2) >= (tag_width_p + 0) ? ((tag_width_p + 2) - (tag_width_p + 0)) + 1 : ((tag_width_p + 0) - (tag_width_p + 2)) + 1)] != 3'b000; + assign load_hit_tl[i] = tag_match_tl & (tag_mem_data_lo[(i * (3 + tag_width_p)) + (tag_width_p + 2)-:((tag_width_p + 2) >= (tag_width_p + 0) ? ((tag_width_p + 2) - (tag_width_p + 0)) + 1 : ((tag_width_p + 0) - (tag_width_p + 2)) + 1)] != 3'b000); + assign store_hit_tl[i] = tag_match_tl & |{tag_mem_data_lo[(i * (3 + tag_width_p)) + (tag_width_p + 2)-:((tag_width_p + 2) >= (tag_width_p + 0) ? ((tag_width_p + 2) - (tag_width_p + 0)) + 1 : ((tag_width_p + 0) - (tag_width_p + 2)) + 1)] == 3'b110, tag_mem_data_lo[(i * (3 + tag_width_p)) + (tag_width_p + 2)-:((tag_width_p + 2) >= (tag_width_p + 0) ? ((tag_width_p + 2) - (tag_width_p + 0)) + 1 : ((tag_width_p + 0) - (tag_width_p + 2)) + 1)] == 3'b010}; + end + endgenerate + wire [assoc_p - 1:0] bank_sel_one_hot_tl; + bsg_decode #(.num_out_p(assoc_p)) offset_decode( + .i(bank_tl), + .o(bank_sel_one_hot_tl) + ); + wire uncached_tl = ~decode_tl_r[23] & (decode_tl_r[17] | ptag_uncached_i); + wire dram_tl = decode_tl_r[23] | ptag_dram_i; + wire [data_width_p - 1:0] st_data_tl = st_data_i; + wire uncached_tv_r; + wire snoop_tv_r; + wire [paddr_width_p - 1:0] paddr_tv_r; + wire [data_width_p - 1:0] st_data_tv_r; + wire [(assoc_p * bank_width_lp) - 1:0] ld_data_tv_r; + wire [assoc_p - 1:0] load_hit_v_tv_r; + wire [assoc_p - 1:0] store_hit_v_tv_r; + wire [assoc_p - 1:0] way_v_tv_r; + wire [assoc_p - 1:0] bank_sel_one_hot_tv_r; + wire [32:0] decode_tv_r; + wire sc_success_tv; + wire sc_fail_tv; + wire fill_restart_tv; + wire [bindex_width_lp - 1:0] paddr_bank_tv = paddr_tv_r[byte_offset_width_lp+:bindex_width_lp]; + wire [sindex_width_lp - 1:0] paddr_index_tv = paddr_tv_r[block_offset_width_lp+:sindex_width_lp]; + wire [tag_width_p - 1:0] paddr_tag_tv = paddr_tv_r[block_offset_width_lp + sindex_width_lp+:tag_width_p]; + assign safe_tv_we = v_tl_r & (ptag_v_i | decode_tl_r[23]); + assign tv_we = safe_tv_we & ~flush_tv; + bsg_dff_reset #(.width_p(1)) v_tv_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(tv_we | fill_restart_tv), + .data_o(v_tv_r) + ); + wire [assoc_p - 1:0] way_v_tv_n; + wire [assoc_p - 1:0] store_hit_tv_n; + wire [assoc_p - 1:0] load_hit_tv_n; + wire [block_width_p - 1:0] ld_data_tv_n; + wire [paddr_width_p - 1:0] paddr_tv_n; + wire [data_width_p - 1:0] st_data_tv_n; + wire [assoc_p - 1:0] bank_sel_one_hot_tv_n; + wire uncached_tv_n; + wire [32:0] decode_tv_n; + assign {way_v_tv_n, store_hit_tv_n, load_hit_tv_n, ld_data_tv_n, st_data_tv_n, paddr_tv_n, bank_sel_one_hot_tv_n, uncached_tv_n, decode_tv_n} = (snoop_v ? {snoop_hit, snoop_ld_data, snoop_st_data, snoop_paddr, snoop_bank_sel_one_hot, snoop_uncached, snoop_decode} : {way_v_tl, store_hit_tl, load_hit_tl, data_mem_data_lo, st_data_tl, paddr_tl, bank_sel_one_hot_tl, uncached_tl, decode_tl_r}); + wire snoop_tv_n = snoop_v; + bsg_dff #(.width_p((((((1 + (3 * assoc_p)) + paddr_width_p) + block_width_p) + data_width_p) + assoc_p) + 34)) tv_stage_reg( + .clk_i(clk_i), + .data_i({snoop_tv_n, way_v_tv_n, store_hit_tv_n, load_hit_tv_n, paddr_tv_n, ld_data_tv_n, st_data_tv_n, bank_sel_one_hot_tv_n, uncached_tv_n, decode_tv_n}), + .data_o({snoop_tv_r, way_v_tv_r, store_hit_v_tv_r, load_hit_v_tv_r, paddr_tv_r, ld_data_tv_r, st_data_tv_r, bank_sel_one_hot_tv_r, uncached_tv_r, decode_tv_r}) + ); + wire [lg_assoc_lp - 1:0] store_hit_way_tv; + wire store_hit_tv; + bsg_encode_one_hot #( + .width_p(assoc_p), + .lo_to_hi_p(1) + ) store_hit_index_encoder( + .i(store_hit_v_tv_r), + .addr_o(store_hit_way_tv), + .v_o(store_hit_tv) + ); + wire [lg_assoc_lp - 1:0] load_hit_way_tv; + wire load_hit_tv; + bsg_encode_one_hot #( + .width_p(assoc_p), + .lo_to_hi_p(1) + ) load_hit_index_encoder( + .i(load_hit_v_tv_r), + .addr_o(load_hit_way_tv), + .v_o(load_hit_tv) + ); + wire uncached_hit_tv = uncached_tv_r & load_hit_tv; + wire [assoc_p - 1:0] ld_data_way_select_tv; + bsg_adder_one_hot #(.width_p(assoc_p)) select_adder( + .a_i(load_hit_v_tv_r), + .b_i(bank_sel_one_hot_tv_r), + .o(ld_data_way_select_tv) + ); + wire [bank_width_lp - 1:0] ld_data_way_picked; + bsg_mux_one_hot #( + .width_p(bank_width_lp), + .els_p(assoc_p) + ) ld_data_set_select_mux( + .data_i(ld_data_tv_r), + .sel_one_hot_i(ld_data_way_select_tv), + .data_o(ld_data_way_picked) + ); + wire [data_width_p - 1:0] ld_data_dword_raw; + wire [((num_words_per_bank_lp == 1) || (num_words_per_bank_lp == 0) ? 1 : $clog2(num_words_per_bank_lp)) - 1:0] ld_data_dword_sel = paddr_tv_r[3+:((num_words_per_bank_lp == 1) || (num_words_per_bank_lp == 0) ? 1 : $clog2(num_words_per_bank_lp))]; + bsg_mux #( + .width_p(data_width_p), + .els_p(num_words_per_bank_lp) + ) dword_mux( + .data_i(ld_data_way_picked), + .sel_i(ld_data_dword_sel), + .data_o(ld_data_dword_raw) + ); + wire [data_width_p - 1:0] ld_data_dword_merged; + wire [((data_width_p == 1) || (data_width_p == 0) ? 1 : $clog2(data_width_p)) - 1:0] ld_data_shift_tv = paddr_tv_r << 3; + wire [data_width_p - 1:0] final_data_tv = ld_data_dword_merged >> ld_data_shift_tv; + wire store_miss_tv = ((((decode_tv_r[28] | decode_tv_r[16]) & ~store_hit_tv) & ~sc_fail_tv) & ~nonblocking_req) & features_p[4'b0010]; + wire load_miss_tv = ((decode_tv_r[30] & ~load_hit_tv) & ~sc_fail_tv) & ~nonblocking_req; + wire blocking_miss_tv = blocking_req; + wire nonblocking_miss_tv = nonblocking_req & ~cache_req_yumi_i; + wire engine_miss_tv = cache_req_v_o & ~cache_req_yumi_i; + wire any_miss_tv = (blocking_miss_tv | nonblocking_miss_tv) | engine_miss_tv; + wire cache_hit_tv = v_tv_r & ~any_miss_tv; + assign v_o = cache_hit_tv; + assign data_o = (sc_success_tv ? 1'b0 : (sc_fail_tv ? 1'b1 : final_data_tv)); + assign rd_addr_o = decode_tv_r[4-:bp_common_pkg_reg_addr_width_gp]; + assign unsigned_o = !decode_tv_r[27]; + assign tag_o = decode_tv_r[32-:2]; + assign int_o = decode_tv_r[25]; + assign float_o = decode_tv_r[26]; + assign ptw_o = decode_tv_r[24]; + assign ret_o = decode_tv_r[29]; + assign late_o = snoop_tv_r; + wire [(((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 1:0] stat_mem_pkt_cast_i; + assign stat_mem_pkt_cast_i = stat_mem_pkt_i; + wire stat_mem_v_li; + wire stat_mem_w_li; + wire [sindex_width_lp - 1:0] stat_mem_addr_li; + reg [(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p) - 1:0] stat_mem_data_li; + reg [(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p) - 1:0] stat_mem_mask_li; + wire [(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p) - 1:0] stat_mem_data_lo; + bsg_mem_1rw_sync_mask_write_bit #( + .width_p(dcache_stat_info_width_lp), + .els_p(sets_p), + .latch_last_read_p(1) + ) stat_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(stat_mem_v_li), + .w_i(stat_mem_w_li), + .addr_i(stat_mem_addr_li), + .data_i(stat_mem_data_li), + .w_mask_i(stat_mem_mask_li), + .data_o(stat_mem_data_lo) + ); + wire [lg_assoc_lp - 1:0] lru_encode; + bsg_lru_pseudo_tree_encode #(.ways_p(assoc_p)) lru_encoder( + .lru_i(stat_mem_data_lo[((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)-:((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) >= (assoc_p + 0) ? ((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) - (assoc_p + 0)) + 1 : ((assoc_p + 0) - (((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1))) + 1)]), + .way_id_o(lru_encode) + ); + wire [((((1 + assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p) - 1:0] wbuf_entry_in; + wire [((((1 + assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p) - 1:0] wbuf_entry_out; + wire wbuf_v_li; + wire wbuf_v_lo; + wire wbuf_force_lo; + wire wbuf_snoop_match_lo; + wire wbuf_yumi_li; + assign wbuf_v_li = ((((v_tv_r & decode_tv_r[28]) & store_hit_tv) & ~sc_fail_tv) & ~uncached_tv_r) & ~any_miss_tv; + wire [63:0] atomic_reg_data; + wire [63:0] atomic_mem_data; + reg [63:0] atomic_alu_result; + wire [63:0] atomic_result; + localparam bp_common_pkg_word_width_gp = 32; + wire [63:0] amo32_reg_in = st_data_tv_r[0+:bp_common_pkg_word_width_gp] << bp_common_pkg_word_width_gp; + wire [63:0] amo64_reg_in = st_data_tv_r[0+:bp_common_pkg_dword_width_gp]; + assign atomic_reg_data = (decode_tv_r[21] ? amo64_reg_in : amo32_reg_in); + wire [63:0] amo32_mem_in = final_data_tv << bp_common_pkg_word_width_gp; + wire [63:0] amo64_mem_in = final_data_tv; + assign atomic_mem_data = (decode_tv_r[21] ? amo64_mem_in : amo32_mem_in); + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez ({amo_support_p[decode_tv_r[8-:4]], decode_tv_r[8-:4]}) + 5'h16: atomic_alu_result = atomic_reg_data & atomic_mem_data; + 5'h17: atomic_alu_result = atomic_reg_data | atomic_mem_data; + 5'h15: atomic_alu_result = atomic_reg_data ^ atomic_mem_data; + 5'h14: atomic_alu_result = atomic_reg_data + atomic_mem_data; + 5'h18: atomic_alu_result = ($signed(atomic_reg_data) < $signed(atomic_mem_data) ? atomic_reg_data : atomic_mem_data); + 5'h19: atomic_alu_result = ($signed(atomic_reg_data) > $signed(atomic_mem_data) ? atomic_reg_data : atomic_mem_data); + 5'h1a: atomic_alu_result = (atomic_reg_data < atomic_mem_data ? atomic_reg_data : atomic_mem_data); + 5'h1b: atomic_alu_result = (atomic_reg_data > atomic_mem_data ? atomic_reg_data : atomic_mem_data); + default: atomic_alu_result = atomic_reg_data; + endcase + end + wire [63:0] amo32_out = atomic_alu_result >> bp_common_pkg_word_width_gp; + wire [63:0] amo64_out = atomic_alu_result; + assign atomic_result = (decode_tv_r[21] ? amo64_out : amo32_out); + wire [255:0] wbuf_data_in; + wire [(4 * wbuf_data_mask_width_lp) - 1:0] wbuf_data_mem_mask_in; + genvar _gv_i_53; + generate + for (_gv_i_53 = 0; _gv_i_53 < 4; _gv_i_53 = _gv_i_53 + 1) begin : wbuf_in + localparam i = _gv_i_53; + localparam slice_width_lp = 8 * (2 ** i); + wire [slice_width_lp - 1:0] slice_data; + wire [(bp_common_pkg_dword_width_gp / slice_width_lp) - 1:0] addr_dec; + bsg_decode #(.num_out_p(bp_common_pkg_dword_width_gp / slice_width_lp)) decode( + .i(paddr_tv_r[i+:((3 - i) > 1 ? 3 - i : 1)]), + .o(addr_dec) + ); + bsg_expand_bitmask #( + .in_width_p(bp_common_pkg_dword_width_gp / slice_width_lp), + .expand_p(2 ** i) + ) expand( + .i(addr_dec), + .o(wbuf_data_mem_mask_in[i * wbuf_data_mask_width_lp+:wbuf_data_mask_width_lp]) + ); + if ((i == 2'b10) || (i == 2'b11)) begin : atomic + assign slice_data = (decode_tv_r[14] ? atomic_result[0+:slice_width_lp] : st_data_tv_r[0+:slice_width_lp]); + end + else begin : non_atomic + assign slice_data = st_data_tv_r[0+:slice_width_lp]; + end + assign wbuf_data_in[i * 64+:64] = {bp_common_pkg_dword_width_gp / slice_width_lp {slice_data}}; + end + endgenerate + bsg_mux_one_hot #( + .width_p(bp_common_pkg_dword_width_gp), + .els_p(4) + ) wbuf_data_in_mux( + .data_i(wbuf_data_in), + .sel_one_hot_i({decode_tv_r[21], decode_tv_r[20], decode_tv_r[19], decode_tv_r[18]}), + .data_o(wbuf_entry_in[bp_common_pkg_dword_width_gp + (caddr_width_p - 1)-:((caddr_width_p + 63) >= (caddr_width_p + 0) ? ((bp_common_pkg_dword_width_gp + (caddr_width_p - 1)) - (caddr_width_p + 0)) + 1 : ((caddr_width_p + 0) - (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) + 1)]) + ); + bsg_mux_one_hot #( + .width_p(wbuf_data_mask_width_lp), + .els_p(4) + ) wbuf_data_mem_mask_in_mux( + .data_i(wbuf_data_mem_mask_in), + .sel_one_hot_i({decode_tv_r[21], decode_tv_r[20], decode_tv_r[19], decode_tv_r[18]}), + .data_o(wbuf_entry_in[8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))-:((8 + (caddr_width_p + 63)) >= (64 + (caddr_width_p + 0)) ? ((8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) - (bp_common_pkg_dword_width_gp + (caddr_width_p + 0))) + 1 : ((bp_common_pkg_dword_width_gp + (caddr_width_p + 0)) - (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) + 1)]) + ); + assign wbuf_entry_in[assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))-:((assoc_p + (8 + (caddr_width_p + 63))) >= (72 + (caddr_width_p + 0)) ? ((assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) - (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p + 0)))) + 1 : ((8 + (bp_common_pkg_dword_width_gp + (caddr_width_p + 0))) - (assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))))) + 1)] = ld_data_way_select_tv | {assoc_p {decode_tv_r[22]}}; + assign wbuf_entry_in[caddr_width_p - 1-:caddr_width_p] = paddr_tv_r; + assign wbuf_entry_in[1 + (assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))))] = snoop_tv_r; + wire [caddr_width_p - 1:0] ld_addr_tl = paddr_tl; + bp_be_dcache_wbuf #( + .bp_params_p(bp_params_p), + .sets_p(dcache_sets_p), + .assoc_p(dcache_assoc_p), + .block_width_p(dcache_block_width_p), + .fill_width_p(dcache_fill_width_p), + .tag_width_p(dcache_tag_width_p) + ) wbuf( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(wbuf_v_li), + .wbuf_entry_i(wbuf_entry_in), + .v_o(wbuf_v_lo), + .force_o(wbuf_force_lo), + .yumi_i(wbuf_yumi_li), + .wbuf_entry_o(wbuf_entry_out), + .tag_mem_pkt_i(tag_mem_pkt_i), + .tag_mem_pkt_v_i(tag_mem_pkt_v_i), + .data_mem_pkt_i(data_mem_pkt_i), + .data_mem_pkt_v_i(data_mem_pkt_v_i), + .stat_mem_pkt_i(stat_mem_pkt_i), + .stat_mem_pkt_v_i(stat_mem_pkt_v_i), + .snoop_match_o(wbuf_snoop_match_lo), + .v_tl_i(v_tl_r), + .addr_tl_i(ld_addr_tl), + .data_tv_i(ld_data_dword_raw), + .data_merged_o(ld_data_dword_merged) + ); + wire [bindex_width_lp - 1:0] wbuf_entry_out_bank_offset = wbuf_entry_out[(caddr_width_p - 1) - ((caddr_width_p - 1) - byte_offset_width_lp)+:bindex_width_lp]; + wire [sindex_width_lp - 1:0] wbuf_entry_out_index = wbuf_entry_out[(caddr_width_p - 1) - ((caddr_width_p - 1) - block_offset_width_lp)+:sindex_width_lp]; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + localparam [2:0] block_req_size = sv2v_cast_3((((block_width_p / 8) == 1) || ((block_width_p / 8) == 0) ? 1 : $clog2(block_width_p / 8))); + reg [((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7:0] cache_req_cast_o; + assign cache_req_o = cache_req_cast_o; + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0:0] cache_req_metadata_cast_o; + assign cache_req_metadata_o = cache_req_metadata_cast_o; + wire load_req = ((v_tv_r & ~uncached_tv_r) & load_miss_tv) & ~snoop_tv_r; + wire store_req = ((v_tv_r & ~uncached_tv_r) & store_miss_tv) & ~snoop_tv_r; + wire uncached_amo_req = (((v_tv_r & uncached_tv_r) & decode_tv_r[14]) & decode_tv_r[29]) & ~snoop_tv_r; + wire uncached_load_req = (((v_tv_r & uncached_tv_r) & ~decode_tv_r[14]) & decode_tv_r[30]) & ~snoop_tv_r; + wire uncached_store_req = (((v_tv_r & uncached_tv_r) & decode_tv_r[28]) & ~decode_tv_r[29]) & ~snoop_tv_r; + wire binval_req = ((((v_tv_r & ~uncached_tv_r) & decode_tv_r[10]) & ~decode_tv_r[11]) & features_p[4'b0001]) & ~snoop_tv_r; + wire bclean_req = ((((v_tv_r & ~uncached_tv_r) & decode_tv_r[11]) & (~decode_tv_r[10] | !features_p[4'b0001])) & (store_hit_tv | features_p[4'b0001])) & ~snoop_tv_r; + wire bflush_req = ((((v_tv_r & ~uncached_tv_r) & decode_tv_r[11]) & decode_tv_r[10]) & features_p[4'b0001]) & ~snoop_tv_r; + wire inval_req = (((v_tv_r & ~uncached_tv_r) & decode_tv_r[12]) & ~decode_tv_r[13]) & ~snoop_tv_r; + wire clean_req = (((v_tv_r & ~uncached_tv_r) & decode_tv_r[13]) & ~decode_tv_r[12]) & ~snoop_tv_r; + wire flush_req = (((v_tv_r & ~uncached_tv_r) & decode_tv_r[12]) & decode_tv_r[13]) & ~snoop_tv_r; + wire wt_req = ((((v_tv_r & ~uncached_tv_r) & decode_tv_r[28]) & ~sc_fail_tv) & !features_p[4'b0010]) & ~snoop_tv_r; + assign nonblocking_req = (uncached_store_req || wt_req) || ((binval_req | bclean_req) | bflush_req); + assign blocking_req = (((load_req | store_req) | uncached_amo_req) | uncached_load_req) || ((inval_req | clean_req) | flush_req); + assign nonblocking_sent = nonblocking_req & cache_req_yumi_i; + assign blocking_sent = blocking_req & cache_req_yumi_i; + assign cache_req_v_o = is_ready & (blocking_req | nonblocking_req); + assign blocking_hazard = cache_req_v_o & blocking_req; + assign nonblocking_hazard = nonblocking_req & ~cache_req_yumi_i; + always @(*) begin + if (_sv2v_0) + ; + cache_req_cast_o = 1'sb0; + cache_req_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = paddr_tv_r; + cache_req_cast_o[data_width_p + (3 + (paddr_width_p + 7))-:((data_width_p + (3 + (paddr_width_p + 7))) >= (3 + (paddr_width_p + 8)) ? ((data_width_p + (3 + (paddr_width_p + 7))) - (3 + (paddr_width_p + 8))) + 1 : ((3 + (paddr_width_p + 8)) - (data_width_p + (3 + (paddr_width_p + 7)))) + 1)] = (nonblocking_req ? wbuf_entry_in[bp_common_pkg_dword_width_gp + (caddr_width_p - 1)-:((caddr_width_p + 63) >= (caddr_width_p + 0) ? ((bp_common_pkg_dword_width_gp + (caddr_width_p - 1)) - (caddr_width_p + 0)) + 1 : ((caddr_width_p + 0) - (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) + 1)] : st_data_tv_r); + cache_req_cast_o[1 + (data_width_p + (3 + (paddr_width_p + 7)))] = load_hit_tv; + cache_req_cast_o[id_width_p + (1 + (data_width_p + (3 + (paddr_width_p + 7))))-:((id_width_p + (1 + (data_width_p + (3 + (paddr_width_p + 7))))) >= (1 + (data_width_p + (3 + (paddr_width_p + 8)))) ? ((id_width_p + (1 + (data_width_p + (3 + (paddr_width_p + 7))))) - (1 + (data_width_p + (3 + (paddr_width_p + 8))))) + 1 : ((1 + (data_width_p + (3 + (paddr_width_p + 8)))) - (id_width_p + (1 + (data_width_p + (3 + (paddr_width_p + 7)))))) + 1)] = 1'sb0; + if (((((load_req | store_req) | bclean_req) | binval_req) | inval_req) | clean_req) + cache_req_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = block_req_size; + else if (decode_tv_r[22]) + cache_req_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = block_req_size; + else if (decode_tv_r[21]) + cache_req_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = 3'b011; + else if (decode_tv_r[20]) + cache_req_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = 3'b010; + else if (decode_tv_r[19]) + cache_req_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = 3'b001; + else if (decode_tv_r[18]) + cache_req_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = 3'b000; + (* full_case, parallel_case *) + casez ({decode_tv_r[14], decode_tv_r[8-:4]}) + 5'h11: cache_req_cast_o[3-:4] = 4'b0001; + 5'h12: cache_req_cast_o[3-:4] = 4'b0010; + 5'h13: cache_req_cast_o[3-:4] = 4'b0011; + 5'h14: cache_req_cast_o[3-:4] = 4'b0100; + 5'h15: cache_req_cast_o[3-:4] = 4'b0101; + 5'h16: cache_req_cast_o[3-:4] = 4'b0110; + 5'h17: cache_req_cast_o[3-:4] = 4'b0111; + 5'h18: cache_req_cast_o[3-:4] = 4'b1000; + 5'h19: cache_req_cast_o[3-:4] = 4'b1001; + 5'h1a: cache_req_cast_o[3-:4] = 4'b1010; + 5'h1b: cache_req_cast_o[3-:4] = 4'b1011; + default: cache_req_cast_o[3-:4] = 4'b0000; + endcase + if (bflush_req) + cache_req_cast_o[7-:4] = 4'b1101; + else if (bclean_req) + cache_req_cast_o[7-:4] = 4'b1011; + else if (binval_req) + cache_req_cast_o[7-:4] = 4'b1100; + else if (inval_req) + cache_req_cast_o[7-:4] = 4'b0111; + else if (clean_req) + cache_req_cast_o[7-:4] = 4'b0110; + else if (flush_req) + cache_req_cast_o[7-:4] = 4'b1000; + else if (store_req) + cache_req_cast_o[7-:4] = 4'b0001; + else if (load_req) + cache_req_cast_o[7-:4] = 4'b0000; + else if (uncached_amo_req) + cache_req_cast_o[7-:4] = 4'b0101; + else if (uncached_store_req) + cache_req_cast_o[7-:4] = 4'b0100; + else if (uncached_load_req) + cache_req_cast_o[7-:4] = 4'b0011; + else + cache_req_cast_o[7-:4] = 4'b0010; + end + wire cache_req_metadata_v_n = cache_req_yumi_i; + bsg_dff_reset #(.width_p(1)) cache_req_v_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(cache_req_metadata_v_n), + .data_o(cache_req_metadata_v_o) + ); + wire metadata_hit_r; + wire [lg_assoc_lp - 1:0] metadata_hit_index_r; + wire [assoc_p - 1:0] metadata_way_v_r; + bsg_dff #(.width_p((assoc_p + 1) + lg_assoc_lp)) cached_hit_reg( + .clk_i(clk_i), + .data_i({way_v_tv_r, load_hit_tv, load_hit_way_tv}), + .data_o({metadata_way_v_r, metadata_hit_r, metadata_hit_index_r}) + ); + wire metadata_invalid_exist; + wire [lg_assoc_lp - 1:0] metadata_invalid_way; + bsg_priority_encode #( + .width_p(assoc_p), + .lo_to_hi_p(1) + ) pe_invalid( + .i(~metadata_way_v_r), + .v_o(metadata_invalid_exist), + .addr_o(metadata_invalid_way) + ); + wire [lg_assoc_lp - 1:0] lru_way_li = (metadata_invalid_exist ? metadata_invalid_way : lru_encode); + wire [assoc_p - 1:0] hit_or_repl_way = (metadata_hit_r ? metadata_hit_index_r : lru_way_li); + assign cache_req_metadata_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))] = hit_or_repl_way; + assign cache_req_metadata_cast_o[0] = stat_mem_data_lo[(assoc_p - 1) - ((assoc_p - 1) - hit_or_repl_way)]; + assign busy_o = cache_req_lock_i | ~(is_ready | is_primary); + assign ordered_o = (~v_tl_r & ~v_tv_r) & cache_req_credits_empty_i; + wire tag_mem_fast_read = safe_tl_we & ~decode_lo[23]; + wire tag_mem_slow_read = tag_mem_pkt_yumi_o & (tag_mem_pkt_cast_i[2-:3] == 3'd4); + wire tag_mem_slow_write = tag_mem_pkt_yumi_o & (tag_mem_pkt_cast_i[2-:3] != 3'd4); + wire tag_mem_fast_write = (((v_tv_r & uncached_tv_r) & load_hit_tv) & ~snoop_tv_r) || (((v_tv_r & decode_tv_r[10]) & load_hit_tv) & ~snoop_tv_r); + assign tag_mem_write_hazard = tag_mem_fast_write; + assign tag_mem_v_li = ((tag_mem_fast_read | tag_mem_slow_read) | tag_mem_slow_write) | tag_mem_fast_write; + assign tag_mem_w_li = tag_mem_slow_write | tag_mem_fast_write; + assign tag_mem_addr_li = (tag_mem_fast_write ? paddr_index_tv : (tag_mem_fast_read ? vaddr_index : tag_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)])); + assign tag_mem_pkt_yumi_o = (((tag_mem_pkt_v_i & ~lrsc_lock) & ~tag_mem_fast_read) & ~tag_mem_fast_write) & ~wbuf_snoop_match_lo; + wire [assoc_p - 1:0] tag_mem_way_one_hot; + bsg_decode #(.num_out_p(assoc_p)) tag_mem_way_decode( + .i(tag_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)]), + .o(tag_mem_way_one_hot) + ); + function automatic [2:0] sv2v_cast_2554E; + input reg [2:0] inp; + sv2v_cast_2554E = inp; + endfunction + function automatic [tag_width_p - 1:0] sv2v_cast_D0FDA; + input reg [tag_width_p - 1:0] inp; + sv2v_cast_D0FDA = inp; + endfunction + always @(*) begin : sv2v_autoblock_1 + reg signed [31:0] i; + if (_sv2v_0) + ; + for (i = 0; i < assoc_p; i = i + 1) + casez ({tag_mem_fast_write, tag_mem_pkt_cast_i[2-:3]}) + 4'b1zzz: begin + tag_mem_data_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(3'b000), sv2v_cast_D0FDA(1'sb0)}; + tag_mem_mask_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E({3 {load_hit_way_tv == i}}), sv2v_cast_D0FDA(1'sb0)}; + end + 4'h1: begin + tag_mem_data_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(tag_mem_pkt_cast_i[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)]), sv2v_cast_B896A(tag_mem_pkt_cast_i[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))])}; + tag_mem_mask_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E({3 {tag_mem_way_one_hot[i]}}), sv2v_cast_B896A({tag_width_p {tag_mem_way_one_hot[i]}})}; + end + 4'h2: begin + tag_mem_data_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(tag_mem_pkt_cast_i[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)]), sv2v_cast_D0FDA(1'sb0)}; + tag_mem_mask_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E({3 {tag_mem_way_one_hot[i]}}), sv2v_cast_D0FDA(1'sb0)}; + end + 4'h3: begin + tag_mem_data_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(3'b000), sv2v_cast_D0FDA(1'sb0)}; + tag_mem_mask_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(3'b111), sv2v_cast_D0FDA(1'sb0)}; + end + default: begin + tag_mem_data_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(3'b000), sv2v_cast_D0FDA(1'sb0)}; + tag_mem_mask_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(3'b111), sv2v_cast_D0FDA(1'sb1)}; + end + endcase + end + wire [lg_assoc_lp - 1:0] tag_mem_pkt_way_r; + bsg_dff #(.width_p(lg_assoc_lp)) tag_mem_pkt_way_reg( + .clk_i(clk_i), + .data_i(tag_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)]), + .data_o(tag_mem_pkt_way_r) + ); + assign tag_mem_o = tag_mem_data_lo[tag_mem_pkt_way_r * (3 + tag_width_p)+:3 + tag_width_p]; + wire [(block_size_in_fill_lp * fill_size_in_bank_lp) - 1:0] data_mem_pkt_fill_mask_expanded; + bsg_expand_bitmask #( + .in_width_p(block_size_in_fill_lp), + .expand_p(fill_size_in_bank_lp) + ) fill_mask_expand( + .i(data_mem_pkt_cast_i[(block_width_p / fill_width_p) + 1-:(((block_width_p / fill_width_p) + 1) >= 2 ? (block_width_p / fill_width_p) + 0 : 3 - ((block_width_p / fill_width_p) + 1))]), + .o(data_mem_pkt_fill_mask_expanded) + ); + wire [assoc_p - 1:0] data_mem_write_bank_mask; + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) - 1:0] write_mask_rot_li = data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)]; + bsg_rotate_left #(.width_p(assoc_p)) write_mask_rotate( + .data_i(data_mem_pkt_fill_mask_expanded), + .rot_i(write_mask_rot_li), + .o(data_mem_write_bank_mask) + ); + wire [((fill_width_p == 1) || (fill_width_p == 0) ? 1 : $clog2(fill_width_p)) - 1:0] write_data_rot_li = data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] * bank_width_lp; + wire [fill_width_p - 1:0] data_mem_pkt_fill_data_li; + bsg_rotate_left #(.width_p(fill_width_p)) write_data_rotate( + .data_i(data_mem_pkt_cast_i[fill_width_p + ((block_width_p / fill_width_p) + 1)-:((fill_width_p + ((block_width_p / fill_width_p) + 1)) >= ((block_width_p / fill_width_p) + 2) ? ((fill_width_p + ((block_width_p / fill_width_p) + 1)) - ((block_width_p / fill_width_p) + 2)) + 1 : (((block_width_p / fill_width_p) + 2) - (fill_width_p + ((block_width_p / fill_width_p) + 1))) + 1)]), + .rot_i(write_data_rot_li), + .o(data_mem_pkt_fill_data_li) + ); + wire [(assoc_p * bank_width_lp) - 1:0] data_mem_pkt_data_li = {block_size_in_fill_lp {data_mem_pkt_fill_data_li}}; + localparam dword_mask_width_lp = ((num_words_per_bank_lp == 1) || (num_words_per_bank_lp == 0) ? 1 : $clog2(num_words_per_bank_lp)); + wire [dword_mask_width_lp - 1:0] wbuf_dword_sel = wbuf_entry_out[(caddr_width_p - 1) - (caddr_width_p - 4)+:dword_mask_width_lp]; + wire [byte_offset_width_lp - 1:0] mask_shift = (num_words_per_bank_lp > 1 ? wbuf_dword_sel << 3 : {dword_mask_width_lp {1'sb0}}); + wire [data_mem_mask_width_lp - 1:0] wbuf_data_mem_mask = wbuf_entry_out[8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))-:((8 + (caddr_width_p + 63)) >= (64 + (caddr_width_p + 0)) ? ((8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) - (bp_common_pkg_dword_width_gp + (caddr_width_p + 0))) + 1 : ((bp_common_pkg_dword_width_gp + (caddr_width_p + 0)) - (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) + 1)] << mask_shift; + wire [assoc_p - 1:0] data_mem_fast_read; + wire [assoc_p - 1:0] data_mem_fast_write; + wire [assoc_p - 1:0] data_mem_slow_read; + wire [assoc_p - 1:0] data_mem_slow_write; + wire [assoc_p - 1:0] data_mem_force_write; + wire data_mem_assoc_read = safe_tl_we & decode_lo[30]; + genvar _gv_i_54; + function automatic signed [bindex_width_lp - 1:0] sv2v_cast_8FF4C_signed; + input reg signed [bindex_width_lp - 1:0] inp; + sv2v_cast_8FF4C_signed = inp; + endfunction + generate + for (_gv_i_54 = 0; _gv_i_54 < assoc_p; _gv_i_54 = _gv_i_54 + 1) begin : data_mem_lines + localparam i = _gv_i_54; + assign data_mem_force_write[i] = (wbuf_v_lo & wbuf_force_lo) & wbuf_entry_out[(assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) - ((assoc_p - 1) - i)]; + assign data_mem_slow_write[i] = (data_mem_pkt_yumi_o & (data_mem_pkt_cast_i[1-:2] == 2'd0)) & data_mem_write_bank_mask[i]; + assign data_mem_slow_read[i] = data_mem_pkt_yumi_o & (data_mem_pkt_cast_i[1-:2] == 2'd1); + assign data_mem_fast_read[i] = data_mem_assoc_read; + assign data_mem_fast_write[i] = wbuf_yumi_li & wbuf_entry_out[(assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) - ((assoc_p - 1) - i)]; + assign data_mem_v_li[i] = ((data_mem_fast_read[i] | data_mem_fast_write[i]) | data_mem_slow_read[i]) | data_mem_slow_write[i]; + assign data_mem_w_li[i] = data_mem_fast_write[i] | data_mem_slow_write[i]; + assign data_mem_mask_li[i * data_mem_mask_width_lp+:data_mem_mask_width_lp] = (data_mem_fast_write[i] ? wbuf_data_mem_mask : {data_mem_mask_width_lp {data_mem_write_bank_mask[i]}}); + wire [bindex_width_lp - 1:0] data_mem_pkt_offset = sv2v_cast_8FF4C_signed(i) - data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)]; + assign data_mem_addr_li[i * data_mem_addr_width_lp+:data_mem_addr_width_lp] = (data_mem_fast_write[i] ? {wbuf_entry_out_index, {assoc_p > 1 {wbuf_entry_out_bank_offset}}} : (data_mem_fast_read[i] ? {vaddr_index, {assoc_p > 1 {vaddr_bank}}} : {data_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)], {assoc_p > 1 {data_mem_pkt_offset}}})); + assign data_mem_data_li[i * bank_width_lp+:bank_width_lp] = (data_mem_fast_write[i] ? {num_words_per_bank_lp {wbuf_entry_out[bp_common_pkg_dword_width_gp + (caddr_width_p - 1)-:((caddr_width_p + 63) >= (caddr_width_p + 0) ? ((bp_common_pkg_dword_width_gp + (caddr_width_p - 1)) - (caddr_width_p + 0)) + 1 : ((caddr_width_p + 0) - (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) + 1)]}} : data_mem_pkt_data_li[i * bank_width_lp+:bank_width_lp]); + end + endgenerate + assign wbuf_yumi_li = wbuf_v_lo && (~|{data_mem_fast_read & wbuf_entry_out[assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))-:((assoc_p + (8 + (caddr_width_p + 63))) >= (72 + (caddr_width_p + 0)) ? ((assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) - (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p + 0)))) + 1 : ((8 + (bp_common_pkg_dword_width_gp + (caddr_width_p + 0))) - (assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))))) + 1)]} || wbuf_force_lo); + assign data_mem_write_hazard = |{data_mem_fast_read & data_mem_force_write}; + assign data_mem_pkt_yumi_o = ((((((data_mem_pkt_v_i & ~lrsc_lock) & ~{|data_mem_fast_read & (data_mem_pkt_cast_i[1-:2] == 2'd1)}) & ~{|data_mem_fast_write & (data_mem_pkt_cast_i[1-:2] == 2'd1)}) & ~|{data_mem_fast_read & data_mem_write_bank_mask}) & ~|{data_mem_fast_write & data_mem_write_bank_mask}) & ~(v_tl_r & cache_req_critical_i)) & ~wbuf_snoop_match_lo; + wire [lg_assoc_lp - 1:0] data_mem_pkt_way_r; + bsg_dff #(.width_p(lg_assoc_lp)) data_mem_pkt_way_reg( + .clk_i(clk_i), + .data_i(data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)]), + .data_o(data_mem_pkt_way_r) + ); + wire [((block_width_p == 1) || (block_width_p == 0) ? 1 : $clog2(block_width_p)) - 1:0] read_data_rot_li = data_mem_pkt_way_r * bank_width_lp; + bsg_rotate_right #(.width_p(block_width_p)) read_data_rotate( + .data_i(data_mem_data_lo), + .rot_i(read_data_rot_li), + .o(data_mem_o) + ); + wire stat_mem_fast_read = (v_tv_r & cache_req_metadata_v_n) & ~decode_tv_r[23]; + wire stat_mem_fast_write = (((v_tv_r & load_hit_tv) & ~decode_tv_r[23]) & ~uncached_tv_r) & ~cache_req_metadata_v_n; + wire stat_mem_slow_write = stat_mem_pkt_yumi_o & (stat_mem_pkt_cast_i[1-:2] != 2'd1); + wire stat_mem_slow_read = stat_mem_pkt_yumi_o & (stat_mem_pkt_cast_i[1-:2] == 2'd1); + assign stat_mem_v_li = (stat_mem_fast_read | stat_mem_fast_write) | (stat_mem_slow_write | stat_mem_slow_read); + assign stat_mem_w_li = stat_mem_fast_write | stat_mem_slow_write; + assign stat_mem_addr_li = (stat_mem_fast_write | stat_mem_fast_read ? paddr_tv_r[block_offset_width_lp+:sindex_width_lp] : stat_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)]); + assign stat_mem_pkt_yumi_o = (((stat_mem_pkt_v_i & ~lrsc_lock) & ~stat_mem_fast_read) & ~stat_mem_fast_write) & ~(wbuf_snoop_match_lo & (stat_mem_pkt_cast_i[1-:2] == 2'd1)); + wire [(assoc_p < 2 ? 0 : assoc_p - 2):0] lru_decode_data_lo; + wire [(assoc_p < 2 ? 0 : assoc_p - 2):0] lru_decode_mask_lo; + wire [lg_assoc_lp - 1:0] lru_decode_way_li = (v_tv_r ? (decode_tv_r[28] ? store_hit_way_tv : load_hit_way_tv) : stat_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1) >= 2 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 3 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))]); + bsg_lru_pseudo_tree_decode #(.ways_p(assoc_p)) lru_decode( + .way_id_i(lru_decode_way_li), + .data_o(lru_decode_data_lo), + .mask_o(lru_decode_mask_lo) + ); + wire [assoc_p - 1:0] dirty_mask_lo; + generate + if (features_p[4'b0010]) begin : tdm + wire dirty_mask_v_li = stat_mem_slow_write || (v_tv_r & decode_tv_r[28]); + wire [lg_assoc_lp - 1:0] dirty_mask_way_li = (v_tv_r ? store_hit_way_tv : stat_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1) >= 2 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 3 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))]); + bsg_decode_with_v #(.num_out_p(assoc_p)) dirty_mask_decode( + .i(dirty_mask_way_li), + .v_i(dirty_mask_v_li), + .o(dirty_mask_lo) + ); + end + else begin : ntdm + assign dirty_mask_lo = 1'sb0; + end + endgenerate + function automatic [((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) - 1:0] sv2v_cast_D43E1; + input reg [((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) - 1:0] inp; + sv2v_cast_D43E1 = inp; + endfunction + function automatic [assoc_p - 1:0] sv2v_cast_FE580; + input reg [assoc_p - 1:0] inp; + sv2v_cast_FE580 = inp; + endfunction + function automatic [assoc_p - 1:0] sv2v_cast_C6CB0; + input reg [assoc_p - 1:0] inp; + sv2v_cast_C6CB0 = inp; + endfunction + function automatic [((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) - 1:0] sv2v_cast_87573; + input reg [((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) - 1:0] inp; + sv2v_cast_87573 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + case ({v_tv_r, stat_mem_pkt_cast_i[1-:2]}) + 3'h0: begin + stat_mem_data_li = 1'sb0; + stat_mem_mask_li = {sv2v_cast_D43E1(1'sb1), sv2v_cast_FE580(1'sb1)}; + end + 3'h2: begin + stat_mem_data_li = 1'sb0; + stat_mem_mask_li = {sv2v_cast_D43E1(1'sb0), sv2v_cast_C6CB0(dirty_mask_lo)}; + end + default: begin + stat_mem_data_li = {sv2v_cast_87573(lru_decode_data_lo), sv2v_cast_FE580(1'sb1)}; + stat_mem_mask_li = {sv2v_cast_87573(lru_decode_mask_lo), sv2v_cast_C6CB0(dirty_mask_lo)}; + end + endcase + end + wire [lg_assoc_lp - 1:0] stat_mem_pkt_way_r; + bsg_dff #(.width_p(lg_assoc_lp)) stat_mem_pkt_way_reg( + .clk_i(clk_i), + .data_i(stat_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1) >= 2 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 3 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))]), + .data_o(stat_mem_pkt_way_r) + ); + assign stat_mem_o = stat_mem_data_lo; + generate + if (amo_support_p[4'd1] && amo_support_p[4'd2]) begin : l1_lrsc + wire [sindex_width_lp - 1:0] load_reserved_index_r; + wire [tag_width_p - 1:0] load_reserved_tag_r; + wire load_reserved_v_r; + wire set_reservation = (v_tv_r & decode_tv_r[16]) & store_hit_tv; + wire clear_reservation = (v_tv_r & decode_tv_r[15]) || (((tag_mem_pkt_yumi_o & load_reserved_v_r) & (tag_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] == load_reserved_index_r)) & (tag_mem_pkt_cast_i[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] == load_reserved_tag_r)); + bsg_dff_reset_set_clear #( + .width_p(1), + .clear_over_set_p(1) + ) load_reserved_v_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(set_reservation), + .clear_i(clear_reservation), + .data_o(load_reserved_v_r) + ); + bsg_dff_en #(.width_p(tag_width_p + sindex_width_lp)) load_reserved_addr( + .clk_i(clk_i), + .en_i(set_reservation), + .data_i({paddr_tag_tv, paddr_index_tv}), + .data_o({load_reserved_tag_r, load_reserved_index_r}) + ); + wire load_reservation_match_tv = (load_reserved_v_r & (load_reserved_index_r == paddr_index_tv)) & (load_reserved_tag_r == paddr_tag_tv); + assign sc_success_tv = ((v_tv_r & decode_tv_r[15]) & store_hit_tv) & load_reservation_match_tv; + assign sc_fail_tv = (v_tv_r & decode_tv_r[15]) & ~sc_success_tv; + localparam lock_max_cnt_lp = 15; + wire [3:0] lrsc_lock_cnt; + wire lrsc_lock_clr = sc_success_tv; + wire lrsc_lock_up = sc_fail_tv | lrsc_lock; + bsg_counter_clear_up #( + .max_val_p(lock_max_cnt_lp), + .init_val_p(0), + .disable_overflow_warning_p(1) + ) lrsc_lock_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(lrsc_lock_clr), + .up_i(lrsc_lock_up), + .count_o(lrsc_lock_cnt) + ); + assign lrsc_lock = lrsc_lock_cnt != {4 {1'sb0}}; + end + else begin : no_l1_lrsc + assign sc_fail_tv = 1'sb0; + assign sc_success_tv = 1'sb0; + assign lrsc_lock = 1'sb0; + end + endgenerate + always @(*) begin + if (_sv2v_0) + ; + if (!is_ready & complete_recv) + state_n = 2'd0; + else if (is_ready & blocking_sent) + state_n = (!features_p[4'b1000] | decode_tv_r[23] ? 2'd2 : 2'd1); + else if ((is_primary & v_tv_r) & any_miss_tv) + state_n = 2'd2; + else + state_n = state_r; + end + assign fill_restart_tv = critical_recv; + always @(posedge clk_i) + if (reset_i) + state_r <= 2'd0; + else + state_r <= state_n; + wire fill_uncached_r; + wire [paddr_width_p - 1:0] fill_paddr_r; + wire [63:0] fill_st_data_r; + wire [32:0] fill_decode_r; + bsg_dff_en #(.width_p((65 + paddr_width_p) + 33)) mshr_reg( + .clk_i(clk_i), + .en_i(blocking_sent), + .data_i({uncached_tv_r, st_data_tv_r, paddr_tv_r, decode_tv_r}), + .data_o({fill_uncached_r, fill_st_data_r, fill_paddr_r, fill_decode_r}) + ); + generate + if (features_p[4'b1000]) begin : hum + wire fill_v = data_mem_pkt_v_i & (data_mem_pkt_cast_i[1-:2] == 2'd0); + wire fill_recv = ((fill_v & (~stat_mem_pkt_v_i | stat_mem_pkt_yumi_o)) & (~tag_mem_pkt_v_i | tag_mem_pkt_yumi_o)) & (~data_mem_pkt_v_i | data_mem_pkt_yumi_o); + wire [sindex_width_lp - 1:0] fill_index = fill_paddr_r[block_offset_width_lp+:sindex_width_lp]; + wire [assoc_p - 1:0] fill_hit_r; + wire [assoc_p - 1:0] fill_bank_mask_r; + wire [assoc_p - 1:0] fill_bank_mask_n = (fill_v ? fill_bank_mask_r & ~data_mem_pkt_fill_mask_expanded : {(assoc_p >= (block_size_in_fill_lp * fill_size_in_bank_lp) ? assoc_p : block_size_in_fill_lp * fill_size_in_bank_lp) {1'sb1}}); + wire [assoc_p - 1:0] fill_hit_n = (fill_v ? 1'b1 << data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] : 1'b1); + bsg_dff_reset_en #(.width_p(2 * assoc_p)) fill_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(fill_recv | blocking_sent), + .data_i({fill_bank_mask_n, fill_hit_n}), + .data_o({fill_bank_mask_r, fill_hit_r}) + ); + assign snoop_v = fill_restart_tv; + assign fill_hazard = (((!is_ready & v_tl_r) & |(fill_index == index_tl)) & |(fill_hit_r & load_hit_tl)) & |(fill_bank_mask_r & bank_sel_one_hot_tl); + end + else begin : nhum + assign snoop_v = !is_ready | blocking_sent; + assign fill_hazard = 1'sb0; + end + endgenerate + wire [assoc_p - 1:0] pseudo_hit = (data_mem_pkt_v_i << data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)]) | (tag_mem_pkt_v_i << tag_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)]); + assign snoop_hit = {3 {pseudo_hit}}; + assign snoop_ld_data = data_mem_data_li; + assign snoop_paddr = fill_paddr_r; + assign snoop_st_data = fill_st_data_r; + assign snoop_decode = fill_decode_r; + assign snoop_uncached = fill_uncached_r; + wire [bindex_width_lp - 1:0] snoop_bank = snoop_paddr[byte_offset_width_lp+:bindex_width_lp]; + bsg_decode #(.num_out_p(assoc_p)) snoop_offset_decode( + .i(snoop_bank), + .o(snoop_bank_sel_one_hot) + ); + initial _sv2v_0 = 0; +endmodule +module bp_be_dcache_decoder ( + pkt_i, + decode_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter amo_support_p = 0; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam dcache_pkt_width_lp = 11 + vaddr_width_p; + localparam dcache_decode_width_lp = 33; + input [dcache_pkt_width_lp - 1:0] pkt_i; + output wire [32:0] decode_o; + wire [(11 + vaddr_width_p) - 1:0] pkt_cast_i; + assign pkt_cast_i = pkt_i; + reg [32:0] decode_cast_o; + assign decode_o = decode_cast_o; + always @(*) begin + if (_sv2v_0) + ; + decode_cast_o = 1'sb0; + decode_cast_o[16] = |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000111, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001101}; + decode_cast_o[15] = |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001100, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001110}; + (* full_case, parallel_case *) + casez (pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)]) + 6'b000111, 6'b001101: decode_cast_o[8-:4] = 4'd1; + 6'b001100, 6'b001110: decode_cast_o[8-:4] = 4'd2; + 6'b010000, 6'b011001: decode_cast_o[8-:4] = 4'd3; + 6'b010001, 6'b011010: decode_cast_o[8-:4] = 4'd4; + 6'b010010, 6'b011011: decode_cast_o[8-:4] = 4'd5; + 6'b010011, 6'b011100: decode_cast_o[8-:4] = 4'd6; + 6'b010100, 6'b011101: decode_cast_o[8-:4] = 4'd7; + 6'b010101, 6'b011110: decode_cast_o[8-:4] = 4'd8; + 6'b010110, 6'b011111: decode_cast_o[8-:4] = 4'd9; + 6'b010111, 6'b100000: decode_cast_o[8-:4] = 4'd10; + 6'b011000, 6'b100001: decode_cast_o[8-:4] = 4'd11; + default: decode_cast_o[8-:4] = 4'd0; + endcase + decode_cast_o[14] = decode_cast_o[8-:4] != 4'd0; + decode_cast_o[10] = |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b110010, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b110100}; + decode_cast_o[11] = |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b110001, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b110100}; + decode_cast_o[9] = pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b110000; + decode_cast_o[12] = |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b111101, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b111111}; + decode_cast_o[13] = |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b111110, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b111111}; + decode_cast_o[17] = ((((((((((!amo_support_p[4'd1] && decode_cast_o[16]) || (!amo_support_p[4'd2] && decode_cast_o[15])) || (!amo_support_p[4'd3] && (decode_cast_o[8-:4] == 4'd3))) || (!amo_support_p[4'd4] && (decode_cast_o[8-:4] == 4'd4))) || (!amo_support_p[4'd8] && (decode_cast_o[8-:4] == 4'd8))) || (!amo_support_p[4'd9] && (decode_cast_o[8-:4] == 4'd9))) || (!amo_support_p[4'd10] && (decode_cast_o[8-:4] == 4'd10))) || (!amo_support_p[4'd11] && (decode_cast_o[8-:4] == 4'd11))) || (!amo_support_p[4'd5] && (decode_cast_o[8-:4] == 4'd5))) || (!amo_support_p[4'd6] && (decode_cast_o[8-:4] == 4'd6))) || (!amo_support_p[4'd7] && (decode_cast_o[8-:4] == 4'd7)); + decode_cast_o[30] = (decode_cast_o[14] | decode_cast_o[16]) || |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100010, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100011, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000011, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000010, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000001, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000000, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000110, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000101, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000100, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b111000}; + decode_cast_o[28] = (decode_cast_o[14] & ~decode_cast_o[16]) || |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001011, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001010, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001001, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001000, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100100, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100101, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b110000}; + decode_cast_o[25] = |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000000, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000001, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000010, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000011, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000100, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000101, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000110, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001000, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001001, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001010, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001011, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000111, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001100, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001101, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b001110, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b010000, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b010001, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b010010, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b010011, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b010100, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b010101, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b010110, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b010111, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b011000, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b011001, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b011010, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b011011, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b011100, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b011101, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b011110, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b011111, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100000, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100001}; + decode_cast_o[26] = |{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100010, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100011, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100100, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b100101}; + decode_cast_o[24] = pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b111000; + (* full_case, parallel_case *) + case (pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)]) + 6'b111101, 6'b111110, 6'b111111: decode_cast_o[23] = 1'b1; + 6'b110000, 6'b110010, 6'b110001, 6'b110100: decode_cast_o[22] = 1'b1; + 6'b000000, 6'b000100, 6'b001000: decode_cast_o[18] = 1'b1; + 6'b000001, 6'b000101, 6'b001001: decode_cast_o[19] = 1'b1; + 6'b010000, 6'b010001, 6'b010010, 6'b010011, 6'b010100, 6'b010101, 6'b010110, 6'b010111, 6'b011000, 6'b000010, 6'b000110, 6'b001010, 6'b100010, 6'b100100, 6'b000111, 6'b001100: decode_cast_o[20] = 1'b1; + default: decode_cast_o[21] = 1'b1; + endcase + decode_cast_o[27] = ((decode_cast_o[18] | decode_cast_o[19]) | decode_cast_o[20]) && !(|{pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000110, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000101, pkt_cast_i[vaddr_width_p + 5-:((vaddr_width_p + 5) >= (vaddr_width_p + 0) ? ((vaddr_width_p + 5) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (vaddr_width_p + 5)) + 1)] == 6'b000100}); + decode_cast_o[4-:bp_common_pkg_reg_addr_width_gp] = pkt_cast_i[bp_common_pkg_reg_addr_width_gp + (vaddr_width_p + 5)-:((bp_common_pkg_reg_addr_width_gp + (vaddr_width_p + 5)) >= (6 + (vaddr_width_p + 0)) ? ((bp_common_pkg_reg_addr_width_gp + (vaddr_width_p + 5)) - (6 + (vaddr_width_p + 0))) + 1 : ((6 + (vaddr_width_p + 0)) - (bp_common_pkg_reg_addr_width_gp + (vaddr_width_p + 5))) + 1)]; + if (decode_cast_o[25] & decode_cast_o[18]) + decode_cast_o[32-:2] = 2'b11; + else if (decode_cast_o[25] & decode_cast_o[19]) + decode_cast_o[32-:2] = 2'b10; + else if (decode_cast_o[25] & decode_cast_o[20]) + decode_cast_o[32-:2] = 2'b01; + else if (decode_cast_o[26] & decode_cast_o[20]) + decode_cast_o[32-:2] = 2'b01; + decode_cast_o[29] = decode_cast_o[30] & ((decode_cast_o[24] | decode_cast_o[26]) | (decode_cast_o[25] && (decode_cast_o[4-:bp_common_pkg_reg_addr_width_gp] != {5 {1'sb0}}))); + end + initial _sv2v_0 = 0; +endmodule +module bp_be_dcache_wbuf ( + clk_i, + reset_i, + wbuf_entry_i, + v_i, + wbuf_entry_o, + v_o, + force_o, + yumi_i, + data_mem_pkt_i, + data_mem_pkt_v_i, + tag_mem_pkt_i, + tag_mem_pkt_v_i, + stat_mem_pkt_i, + stat_mem_pkt_v_i, + snoop_match_o, + v_tl_i, + addr_tl_i, + data_tv_i, + data_merged_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter sets_p = dcache_sets_p; + parameter assoc_p = dcache_assoc_p; + parameter block_width_p = dcache_block_width_p; + parameter fill_width_p = dcache_fill_width_p; + parameter tag_width_p = dcache_tag_width_p; + parameter id_width_p = dcache_req_id_width_p; + localparam dcache_req_width_lp = ((((id_width_p + 1) + bp_common_pkg_dword_width_gp) + 3) + paddr_width_p) + 8; + localparam dcache_req_metadata_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1; + localparam dcache_data_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 2; + localparam dcache_tag_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 3; + localparam dcache_tag_info_width_lp = 3 + tag_width_p; + localparam dcache_stat_mem_pkt_width_lp = (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 2; + localparam dcache_stat_info_width_lp = (2 > ((2 * assoc_p) - 1) ? 2 : (2 * assoc_p) - 1); + localparam wbuf_entry_width_lp = (((1 + dcache_assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p; + input clk_i; + input reset_i; + input [wbuf_entry_width_lp - 1:0] wbuf_entry_i; + input v_i; + output wire [wbuf_entry_width_lp - 1:0] wbuf_entry_o; + output reg v_o; + output wire force_o; + input yumi_i; + input [dcache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_i; + input data_mem_pkt_v_i; + input [dcache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_i; + input tag_mem_pkt_v_i; + input [dcache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_i; + input stat_mem_pkt_v_i; + output wire snoop_match_o; + input v_tl_i; + input [caddr_width_p - 1:0] addr_tl_i; + input [63:0] data_tv_i; + output wire [63:0] data_merged_o; + wire [((((1 + dcache_assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p) - 1:0] wbuf_entry_cast_i; + assign wbuf_entry_cast_i = wbuf_entry_i; + wire [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 1:0] data_mem_pkt_cast_i; + assign data_mem_pkt_cast_i = data_mem_pkt_i; + wire [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 2:0] tag_mem_pkt_cast_i; + assign tag_mem_pkt_cast_i = tag_mem_pkt_i; + wire [(((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 1:0] stat_mem_pkt_cast_i; + assign stat_mem_pkt_cast_i = stat_mem_pkt_i; + localparam data_mask_width_lp = 8; + localparam byte_offset_width_lp = 3; + localparam bindex_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam sindex_width_lp = ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)); + localparam block_offset_width_lp = (assoc_p > 1 ? bindex_width_lp + byte_offset_width_lp : byte_offset_width_lp); + wire [1:0] num_els_r; + bsg_counter_up_down #( + .max_val_p(2), + .init_val_p(0), + .max_step_p(1) + ) num_els_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .up_i(v_i), + .down_i(yumi_i), + .count_o(num_els_r) + ); + reg el0_valid; + reg el1_valid; + reg el0_enable; + reg el1_enable; + reg mux0_sel; + reg mux1_sel; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + case (num_els_r) + 2'd0: begin + v_o = v_i; + el0_valid = 1'b0; + el1_valid = 1'b0; + el0_enable = 1'b0; + el1_enable = v_i & ~yumi_i; + mux0_sel = 1'b0; + mux1_sel = 1'b0; + end + 2'd1: begin + v_o = 1'b1; + el0_valid = 1'b0; + el1_valid = 1'b1; + el0_enable = v_i & ~yumi_i; + el1_enable = v_i & yumi_i; + mux0_sel = 1'b0; + mux1_sel = 1'b1; + end + default: begin + v_o = 1'b1; + el0_valid = 1'b1; + el1_valid = 1'b1; + el0_enable = v_i & yumi_i; + el1_enable = yumi_i; + mux0_sel = 1'b1; + mux1_sel = 1'b1; + end + endcase + end + assign force_o = v_i & (num_els_r == 2'd2); + wire [((((1 + dcache_assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p) - 1:0] wbuf_entry_el0_n; + wire [((((1 + dcache_assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p) - 1:0] wbuf_entry_el0_r; + wire [((((1 + dcache_assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p) - 1:0] wbuf_entry_el1_n; + wire [((((1 + dcache_assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p) - 1:0] wbuf_entry_el1_r; + assign wbuf_entry_el0_n = wbuf_entry_cast_i; + bsg_dff_en #(.width_p((((1 + dcache_assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p)) wbuf_entry0_reg( + .clk_i(clk_i), + .en_i(el0_enable), + .data_i(wbuf_entry_el0_n), + .data_o(wbuf_entry_el0_r) + ); + assign wbuf_entry_el1_n = (mux0_sel ? wbuf_entry_el0_r : wbuf_entry_cast_i); + bsg_dff_en #(.width_p((((1 + dcache_assoc_p) + 8) + bp_common_pkg_dword_width_gp) + caddr_width_p)) wbuf_entry1_reg( + .clk_i(clk_i), + .en_i(el1_enable), + .data_i(wbuf_entry_el1_n), + .data_o(wbuf_entry_el1_r) + ); + assign wbuf_entry_o = (mux1_sel ? wbuf_entry_el1_r : wbuf_entry_cast_i); + localparam word_addr_width_lp = caddr_width_p - byte_offset_width_lp; + wire [word_addr_width_lp - 1:0] bypass_word_addr = addr_tl_i[byte_offset_width_lp+:word_addr_width_lp]; + wire tag_hit0_n = bypass_word_addr == wbuf_entry_el0_r[(caddr_width_p - 1) - ((caddr_width_p - 1) - byte_offset_width_lp)+:word_addr_width_lp]; + wire tag_hit1_n = bypass_word_addr == wbuf_entry_el1_r[(caddr_width_p - 1) - ((caddr_width_p - 1) - byte_offset_width_lp)+:word_addr_width_lp]; + wire tag_hit2_n = bypass_word_addr == wbuf_entry_cast_i[(caddr_width_p - 1) - ((caddr_width_p - 1) - byte_offset_width_lp)+:word_addr_width_lp]; + wire tag_hit0 = (v_tl_i & tag_hit0_n) & el0_valid; + wire tag_hit1 = (v_tl_i & tag_hit1_n) & el1_valid; + wire tag_hit2 = (v_tl_i & tag_hit2_n) & v_i; + wire [7:0] tag_hit0x4 = {data_mask_width_lp {tag_hit0}}; + wire [7:0] tag_hit1x4 = {data_mask_width_lp {tag_hit1}}; + wire [7:0] tag_hit2x4 = {data_mask_width_lp {tag_hit2}}; + wire [63:0] el0or1_data; + localparam bp_common_pkg_byte_width_gp = 8; + bsg_mux_segmented #( + .segments_p(data_mask_width_lp), + .segment_width_p(bp_common_pkg_byte_width_gp) + ) mux_segmented_merge0( + .data0_i(wbuf_entry_el1_r[bp_common_pkg_dword_width_gp + (caddr_width_p - 1)-:((caddr_width_p + 63) >= (caddr_width_p + 0) ? ((bp_common_pkg_dword_width_gp + (caddr_width_p - 1)) - (caddr_width_p + 0)) + 1 : ((caddr_width_p + 0) - (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) + 1)]), + .data1_i(wbuf_entry_el0_r[bp_common_pkg_dword_width_gp + (caddr_width_p - 1)-:((caddr_width_p + 63) >= (caddr_width_p + 0) ? ((bp_common_pkg_dword_width_gp + (caddr_width_p - 1)) - (caddr_width_p + 0)) + 1 : ((caddr_width_p + 0) - (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) + 1)]), + .sel_i(tag_hit0x4 & wbuf_entry_el0_r[8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))-:((8 + (caddr_width_p + 63)) >= (64 + (caddr_width_p + 0)) ? ((8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) - (bp_common_pkg_dword_width_gp + (caddr_width_p + 0))) + 1 : ((bp_common_pkg_dword_width_gp + (caddr_width_p + 0)) - (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) + 1)]), + .data_o(el0or1_data) + ); + wire [63:0] bypass_data_n; + bsg_mux_segmented #( + .segments_p(data_mask_width_lp), + .segment_width_p(bp_common_pkg_byte_width_gp) + ) mux_segmented_merge1( + .data0_i(el0or1_data), + .data1_i(wbuf_entry_cast_i[bp_common_pkg_dword_width_gp + (caddr_width_p - 1)-:((caddr_width_p + 63) >= (caddr_width_p + 0) ? ((bp_common_pkg_dword_width_gp + (caddr_width_p - 1)) - (caddr_width_p + 0)) + 1 : ((caddr_width_p + 0) - (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) + 1)]), + .sel_i(tag_hit2x4 & wbuf_entry_cast_i[8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))-:((8 + (caddr_width_p + 63)) >= (64 + (caddr_width_p + 0)) ? ((8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) - (bp_common_pkg_dword_width_gp + (caddr_width_p + 0))) + 1 : ((bp_common_pkg_dword_width_gp + (caddr_width_p + 0)) - (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) + 1)]), + .data_o(bypass_data_n) + ); + wire [7:0] bypass_mask_n = ((tag_hit0x4 & wbuf_entry_el0_r[8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))-:((8 + (caddr_width_p + 63)) >= (64 + (caddr_width_p + 0)) ? ((8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) - (bp_common_pkg_dword_width_gp + (caddr_width_p + 0))) + 1 : ((bp_common_pkg_dword_width_gp + (caddr_width_p + 0)) - (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) + 1)]) | (tag_hit1x4 & wbuf_entry_el1_r[8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))-:((8 + (caddr_width_p + 63)) >= (64 + (caddr_width_p + 0)) ? ((8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) - (bp_common_pkg_dword_width_gp + (caddr_width_p + 0))) + 1 : ((bp_common_pkg_dword_width_gp + (caddr_width_p + 0)) - (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) + 1)])) | (tag_hit2x4 & wbuf_entry_cast_i[8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))-:((8 + (caddr_width_p + 63)) >= (64 + (caddr_width_p + 0)) ? ((8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))) - (bp_common_pkg_dword_width_gp + (caddr_width_p + 0))) + 1 : ((bp_common_pkg_dword_width_gp + (caddr_width_p + 0)) - (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1)))) + 1)]); + wire [63:0] bypass_data_r; + wire [7:0] bypass_mask_r; + bsg_dff_reset #(.width_p(72)) bypass_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i({bypass_mask_n, bypass_data_n}), + .data_o({bypass_mask_r, bypass_data_r}) + ); + wire [63:0] bypass_data_masked; + bsg_mux_segmented #( + .segments_p(data_mask_width_lp), + .segment_width_p(bp_common_pkg_byte_width_gp) + ) bypass_mux_segmented( + .data0_i(data_tv_i), + .data1_i(bypass_data_r), + .sel_i(bypass_mask_r), + .data_o(data_merged_o) + ); + wire snoop_tag_match = (v_tl_i & tag_mem_pkt_v_i) & (addr_tl_i[block_offset_width_lp+:sindex_width_lp] == tag_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)]); + wire snoop_stat_match = (v_tl_i & stat_mem_pkt_v_i) & (addr_tl_i[block_offset_width_lp+:sindex_width_lp] == stat_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)]); + wire snoop_el0_match = ((el0_valid & ~wbuf_entry_cast_i[1 + (dcache_assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))))]) & data_mem_pkt_v_i) & (wbuf_entry_el0_r[(caddr_width_p - 1) - ((caddr_width_p - 1) - block_offset_width_lp)+:sindex_width_lp] == data_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)]); + wire snoop_el1_match = ((el1_valid & ~wbuf_entry_el1_r[1 + (dcache_assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))))]) & data_mem_pkt_v_i) & (wbuf_entry_el1_r[(caddr_width_p - 1) - ((caddr_width_p - 1) - block_offset_width_lp)+:sindex_width_lp] == data_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)]); + wire snoop_el2_match = ((v_i & ~wbuf_entry_cast_i[1 + (dcache_assoc_p + (8 + (bp_common_pkg_dword_width_gp + (caddr_width_p - 1))))]) & data_mem_pkt_v_i) & (wbuf_entry_cast_i[(caddr_width_p - 1) - ((caddr_width_p - 1) - block_offset_width_lp)+:sindex_width_lp] == data_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)]); + assign snoop_match_o = (((snoop_tag_match | snoop_stat_match) | snoop_el0_match) | snoop_el1_match) | snoop_el2_match; + always @(negedge clk_i) + ; + initial _sv2v_0 = 0; +endmodule +module bp_fe_ras ( + clk_i, + reset_i, + init_done_o, + restore_i, + w_next_i, + w_tos_i, + call_i, + addr_i, + v_o, + tgt_o, + next_o, + tos_o, + return_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input clk_i; + input reset_i; + output wire init_done_o; + input restore_i; + input [ras_idx_width_p - 1:0] w_next_i; + input [ras_idx_width_p - 1:0] w_tos_i; + input call_i; + input [vaddr_width_p - 1:0] addr_i; + output wire v_o; + output wire [vaddr_width_p - 1:0] tgt_o; + output wire [ras_idx_width_p - 1:0] next_o; + output wire [ras_idx_width_p - 1:0] tos_o; + input return_i; + reg [1:0] state_n; + reg [1:0] state_r; + wire is_reset = state_r == 2'd0; + wire is_clear = state_r == 2'd1; + wire is_run = state_r == 2'd2; + assign init_done_o = is_run; + localparam ras_els_lp = 2 ** ras_idx_width_p; + wire [$clog2({1'b0, ras_els_lp} + 1) - 1:0] init_cnt; + bsg_counter_clear_up #( + .max_val_p(ras_els_lp), + .init_val_p(0) + ) init_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(1'b0), + .up_i(is_clear), + .count_o(init_cnt) + ); + wire finished_init = init_cnt == (ras_els_lp - 1'b1); + always @(*) begin + if (_sv2v_0) + ; + case (state_r) + 2'd1: state_n = (finished_init ? 2'd2 : 2'd1); + 2'd2: state_n = 2'd2; + default: state_n = 2'd1; + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 2'd0; + else + state_r <= state_n; + wire [ras_idx_width_p - 1:0] next_n; + wire [ras_idx_width_p - 1:0] next_r; + wire [ras_idx_width_p - 1:0] tos_n; + wire [ras_idx_width_p - 1:0] tos_r; + wire [ras_idx_width_p - 1:0] nos_lo; + wire [vaddr_width_p - 1:0] tgt_lo; + assign next_n = (restore_i ? w_next_i : (call_i ? next_r + 1'b1 : next_r)); + assign tos_n = (restore_i ? w_tos_i : (call_i ? next_r + 1'b0 : (return_i ? nos_lo : tos_r))); + bsg_dff_reset #(.width_p(2 * ras_idx_width_p)) ptr_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i({next_n, tos_n}), + .data_o({next_r, tos_r}) + ); + wire w_v_li = (is_run ? call_i : 1'b1); + wire [ras_idx_width_p - 1:0] w_addr_li = (is_run ? next_r : init_cnt); + wire [(ras_idx_width_p + vaddr_width_p) - 1:0] w_data_li = (is_run ? {tos_r, addr_i} : {(0 + ras_idx_width_p) + vaddr_width_p {1'sb0}}); + bsg_mem_1r1w #( + .width_p(ras_idx_width_p + vaddr_width_p), + .els_p(ras_els_lp), + .read_write_same_addr_p(1) + ) mem( + .w_clk_i(clk_i), + .w_reset_i(reset_i), + .w_v_i(w_v_li), + .w_addr_i(w_addr_li), + .w_data_i(w_data_li), + .r_v_i(return_i), + .r_addr_i(tos_r), + .r_data_o({nos_lo, tgt_lo}) + ); + assign tgt_o = tgt_lo; + assign next_o = next_r; + assign tos_o = tos_r; + assign v_o = 1'b1; + initial _sv2v_0 = 0; +endmodule +module bp_fe_bht ( + clk_i, + reset_i, + init_done_o, + w_v_i, + w_force_i, + w_idx_i, + w_offset_i, + w_ghist_i, + w_val_i, + w_correct_i, + w_yumi_o, + r_v_i, + r_addr_i, + r_ghist_i, + r_val_o, + r_pred_o, + r_idx_o, + r_offset_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam entry_width_lp = 2 * bht_row_els_p; + input clk_i; + input reset_i; + output wire init_done_o; + input w_v_i; + input w_force_i; + input [bht_idx_width_p - 1:0] w_idx_i; + input [bht_offset_width_p - 1:0] w_offset_i; + input [ghist_width_p - 1:0] w_ghist_i; + input [bht_row_width_p - 1:0] w_val_i; + input w_correct_i; + output wire w_yumi_o; + input r_v_i; + input [vaddr_width_p - 1:0] r_addr_i; + input [ghist_width_p - 1:0] r_ghist_i; + output wire [bht_row_width_p - 1:0] r_val_o; + output wire r_pred_o; + output wire [bht_idx_width_p - 1:0] r_idx_o; + output wire [bht_offset_width_p - 1:0] r_offset_o; + reg [1:0] state_n; + reg [1:0] state_r; + wire is_reset = state_r == 2'd0; + wire is_clear = state_r == 2'd1; + wire is_run = state_r == 2'd2; + assign init_done_o = is_run; + localparam hash_base_lp = 1; + localparam hash_width_lp = 1; + localparam addr_width_lp = bht_idx_width_p + ghist_width_p; + localparam bht_els_lp = 2 ** addr_width_lp; + localparam bht_init_lp = 2'b01; + wire [$clog2({1'b0, bht_els_lp} + 1) - 1:0] init_cnt; + bsg_counter_clear_up #( + .max_val_p(bht_els_lp), + .init_val_p(0) + ) init_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(1'b0), + .up_i(is_clear), + .count_o(init_cnt) + ); + wire finished_init = init_cnt == (bht_els_lp - 1'b1); + always @(*) begin + if (_sv2v_0) + ; + case (state_r) + 2'd1: state_n = (finished_init ? 2'd2 : 2'd1); + 2'd2: state_n = 2'd2; + default: state_n = 2'd1; + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 2'd0; + else + state_r <= state_n; + wire rw_same_addr; + wire suppress_read = rw_same_addr & w_force_i; + wire suppress_write = rw_same_addr & !w_force_i; + wire w_v_li = is_clear | (w_v_i & ~suppress_write); + wire [addr_width_lp - 1:0] w_addr_li = (is_clear ? init_cnt : {w_ghist_i, w_idx_i}); + wire [bht_row_els_p - 1:0] w_mask_li = (is_clear ? 1'b1 : 1'b1 << w_offset_i); + wire [bht_row_width_p - 1:0] w_data_li; + genvar _gv_i_55; + generate + for (_gv_i_55 = 0; _gv_i_55 < bht_row_els_p; _gv_i_55 = _gv_i_55 + 1) begin : wval + localparam i = _gv_i_55; + assign w_data_li[2 * i] = (is_clear ? bht_init_lp[0] : (w_mask_li[i] ? ~w_correct_i : w_val_i[2 * i])); + assign w_data_li[(2 * i) + 1] = (is_clear ? bht_init_lp[1] : (w_mask_li[i] ? w_val_i[(2 * i) + 1] ^ (~w_correct_i & w_val_i[2 * i]) : w_val_i[(2 * i) + 1])); + end + endgenerate + wire r_v_li = r_v_i & ~suppress_read; + wire [0:0] r_hash_li = r_addr_i[hash_base_lp+:hash_width_lp]; + wire [bht_idx_width_p - 1:0] r_idx_li = r_addr_i[2+:bht_idx_width_p] ^ r_hash_li; + wire [addr_width_lp - 1:0] r_addr_li = {r_ghist_i, r_idx_li}; + wire [bht_offset_width_p - 1:0] r_offset_li = r_addr_i[2 + bht_idx_width_p+:bht_offset_width_p]; + assign rw_same_addr = (r_v_i & w_v_i) & (r_addr_li == w_addr_li); + wire [bht_row_width_p - 1:0] r_data_lo; + bsg_mem_1r1w_sync #( + .width_p(bht_row_width_p), + .els_p(bht_els_lp), + .latch_last_read_p(1) + ) bht_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(w_v_li), + .w_addr_i(w_addr_li), + .w_data_i(w_data_li), + .r_v_i(r_v_li), + .r_addr_i(r_addr_li), + .r_data_o(r_data_lo) + ); + assign w_yumi_o = is_run & w_v_li; + bsg_dff_en #(.width_p(bht_offset_width_p + bht_idx_width_p)) pred_idx_reg( + .clk_i(clk_i), + .en_i(r_v_i), + .data_i({r_offset_li, r_idx_li}), + .data_o({r_offset_o, r_idx_o}) + ); + wire [((bht_row_width_p == 1) || (bht_row_width_p == 0) ? 1 : $clog2(bht_row_width_p)) - 1:0] pred_bit_lo = (bht_row_els_p > 1 ? (r_offset_o << 1'b1) + 1'b1 : 1'b1); + assign r_val_o = r_data_lo; + assign r_pred_o = r_val_o[pred_bit_lo]; + initial _sv2v_0 = 0; +endmodule +module bp_fe_btb ( + clk_i, + reset_i, + init_done_o, + r_addr_i, + r_v_i, + r_tag_o, + r_idx_o, + r_tgt_o, + r_tgt_v_o, + r_tgt_jmp_o, + w_v_i, + w_force_i, + w_clr_i, + w_jmp_i, + w_tag_i, + w_idx_i, + w_tgt_i, + w_yumi_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input clk_i; + input reset_i; + output wire init_done_o; + input [vaddr_width_p - 1:0] r_addr_i; + input r_v_i; + output wire [btb_tag_width_p - 1:0] r_tag_o; + output wire [btb_idx_width_p - 1:0] r_idx_o; + output wire [vaddr_width_p - 1:0] r_tgt_o; + output wire r_tgt_v_o; + output wire r_tgt_jmp_o; + input w_v_i; + input w_force_i; + input w_clr_i; + input w_jmp_i; + input [btb_tag_width_p - 1:0] w_tag_i; + input [btb_idx_width_p - 1:0] w_idx_i; + input [vaddr_width_p - 1:0] w_tgt_i; + output wire w_yumi_o; + reg [1:0] state_n; + reg [1:0] state_r; + wire is_reset = state_r == 2'd0; + wire is_clear = state_r == 2'd1; + wire is_run = state_r == 2'd2; + assign init_done_o = is_run; + localparam hash_base_lp = 1; + localparam hash_width_lp = 1; + localparam btb_els_lp = 2 ** btb_idx_width_p; + localparam addr_width_lp = ((btb_els_lp == 1) || (btb_els_lp == 0) ? 1 : $clog2(btb_els_lp)); + wire [$clog2({1'b0, btb_els_lp} + 1) - 1:0] init_cnt; + bsg_counter_clear_up #( + .max_val_p(btb_els_lp), + .init_val_p(0) + ) init_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(1'b0), + .up_i(is_clear), + .count_o(init_cnt) + ); + wire finished_init = init_cnt == (btb_els_lp - 1'b1); + always @(*) begin + if (_sv2v_0) + ; + case (state_r) + 2'd1: state_n = (finished_init ? 2'd2 : 2'd1); + 2'd2: state_n = 2'd2; + default: state_n = 2'd1; + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 2'd0; + else + state_r <= state_n; + wire rw_same_addr; + wire suppress_read = rw_same_addr & w_force_i; + wire suppress_write = rw_same_addr & !w_force_i; + wire [((2 + btb_tag_width_p) + vaddr_width_p) - 1:0] w_data_li; + wire w_v_li = is_clear | (w_v_i & ~suppress_write); + wire [addr_width_lp - 1:0] w_addr_li = (is_clear ? init_cnt : w_idx_i); + wire [((2 + btb_tag_width_p) + vaddr_width_p) - 1:0] new_btb; + function automatic [btb_tag_width_p - 1:0] sv2v_cast_2AC65; + input reg [btb_tag_width_p - 1:0] inp; + sv2v_cast_2AC65 = inp; + endfunction + function automatic [vaddr_width_p - 1:0] sv2v_cast_9A70B; + input reg [vaddr_width_p - 1:0] inp; + sv2v_cast_9A70B = inp; + endfunction + assign new_btb = {1'b1, w_jmp_i, sv2v_cast_2AC65(w_tag_i), sv2v_cast_9A70B(w_tgt_i)}; + assign w_data_li = (is_clear | (w_v_i & w_clr_i) ? {(2 + btb_tag_width_p) + vaddr_width_p {1'sb0}} : new_btb); + wire [((2 + btb_tag_width_p) + vaddr_width_p) - 1:0] r_data_lo; + wire r_v_li = r_v_i & ~suppress_read; + wire [0:0] r_hash_li = r_addr_i[hash_base_lp+:hash_width_lp]; + wire [btb_idx_width_p - 1:0] r_idx_li = r_addr_i[2+:btb_idx_width_p] ^ r_hash_li; + wire [addr_width_lp - 1:0] r_addr_li = r_idx_li; + wire [btb_tag_width_p - 1:0] r_tag_li = r_addr_i[2 + btb_idx_width_p+:btb_tag_width_p]; + assign rw_same_addr = (r_v_i & w_v_i) & (r_idx_li == w_idx_i); + bsg_mem_1r1w_sync #( + .width_p((2 + btb_tag_width_p) + vaddr_width_p), + .els_p(btb_els_lp), + .latch_last_read_p(1) + ) btb_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(w_v_li), + .w_addr_i(w_addr_li), + .w_data_i(w_data_li), + .r_v_i(r_v_li), + .r_addr_i(r_addr_li), + .r_data_o(r_data_lo) + ); + assign w_yumi_o = is_run & w_v_li; + wire r_v_r; + bsg_dff_reset_set_clear #(.width_p(1)) r_v_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(r_v_li), + .clear_i(r_v_i), + .data_o(r_v_r) + ); + bsg_dff_reset_en #(.width_p(btb_idx_width_p + btb_tag_width_p)) tag_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(r_v_i), + .data_i({r_idx_li, r_tag_li}), + .data_o({r_idx_o, r_tag_o}) + ); + assign r_tgt_v_o = (r_v_r & r_data_lo[2 + (btb_tag_width_p + (vaddr_width_p - 1))]) & (r_data_lo[btb_tag_width_p + (vaddr_width_p - 1)-:((btb_tag_width_p + (vaddr_width_p - 1)) >= (vaddr_width_p + 0) ? ((btb_tag_width_p + (vaddr_width_p - 1)) - (vaddr_width_p + 0)) + 1 : ((vaddr_width_p + 0) - (btb_tag_width_p + (vaddr_width_p - 1))) + 1)] == r_tag_o); + assign r_tgt_jmp_o = (r_v_r & r_data_lo[2 + (btb_tag_width_p + (vaddr_width_p - 1))]) & r_data_lo[1 + (btb_tag_width_p + (vaddr_width_p - 1))]; + assign r_tgt_o = r_data_lo[vaddr_width_p - 1-:vaddr_width_p]; + initial _sv2v_0 = 0; +endmodule +module bp_fe_controller ( + clk_i, + reset_i, + pc_gen_init_done_i, + fe_cmd_i, + fe_cmd_v_i, + fe_cmd_yumi_o, + fe_queue_o, + fe_queue_v_o, + fe_queue_ready_and_i, + redirect_v_o, + redirect_pc_o, + redirect_npc_o, + redirect_instr_o, + redirect_resume_o, + redirect_br_v_o, + redirect_br_taken_o, + redirect_br_ntaken_o, + redirect_br_nonbr_o, + redirect_br_metadata_fwd_o, + attaboy_v_o, + attaboy_force_o, + attaboy_pc_o, + attaboy_taken_o, + attaboy_ntaken_o, + attaboy_br_metadata_fwd_o, + attaboy_yumi_i, + next_pc_i, + ovr_i, + tl_flush_o, + tv_we_i, + itlb_miss_tl_i, + instr_page_fault_tl_i, + instr_access_fault_tl_i, + icache_miss_tv_i, + tv_flush_o, + fetch_v_i, + fetch_pc_i, + fetch_instr_i, + fetch_count_i, + fetch_partial_i, + fetch_br_metadata_fwd_i, + fetch_yumi_o, + itlb_r_v_o, + itlb_w_v_o, + itlb_w_vtag_o, + itlb_w_entry_o, + itlb_fence_v_o, + icache_v_o, + icache_force_o, + icache_pkt_o, + icache_yumi_i, + shadow_priv_w_o, + shadow_priv_o, + shadow_translation_en_w_o, + shadow_translation_en_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam pte_leaf_width_lp = (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8; + localparam icache_pkt_width_lp = (1 + vaddr_width_p) + 32; + input clk_i; + input reset_i; + input pc_gen_init_done_i; + input [fe_cmd_width_lp - 1:0] fe_cmd_i; + input fe_cmd_v_i; + output reg fe_cmd_yumi_o; + output wire [fe_queue_width_lp - 1:0] fe_queue_o; + output reg fe_queue_v_o; + input fe_queue_ready_and_i; + output wire redirect_v_o; + output wire [vaddr_width_p - 1:0] redirect_pc_o; + output wire [vaddr_width_p - 1:0] redirect_npc_o; + output wire [15:0] redirect_instr_o; + output wire redirect_resume_o; + output wire redirect_br_v_o; + output wire redirect_br_taken_o; + output wire redirect_br_ntaken_o; + output wire redirect_br_nonbr_o; + output wire [branch_metadata_fwd_width_p - 1:0] redirect_br_metadata_fwd_o; + output wire attaboy_v_o; + output wire attaboy_force_o; + output wire [vaddr_width_p - 1:0] attaboy_pc_o; + output wire attaboy_taken_o; + output wire attaboy_ntaken_o; + output wire [branch_metadata_fwd_width_p - 1:0] attaboy_br_metadata_fwd_o; + input attaboy_yumi_i; + input [vaddr_width_p - 1:0] next_pc_i; + input ovr_i; + output reg tl_flush_o; + input tv_we_i; + input itlb_miss_tl_i; + input instr_page_fault_tl_i; + input instr_access_fault_tl_i; + input icache_miss_tv_i; + output reg tv_flush_o; + input fetch_v_i; + input [vaddr_width_p - 1:0] fetch_pc_i; + input [fetch_width_p - 1:0] fetch_instr_i; + input [fetch_ptr_p - 1:0] fetch_count_i; + input fetch_partial_i; + input [branch_metadata_fwd_width_p - 1:0] fetch_br_metadata_fwd_i; + output wire fetch_yumi_o; + output reg itlb_r_v_o; + output reg itlb_w_v_o; + output wire [vtag_width_p - 1:0] itlb_w_vtag_o; + output wire [pte_leaf_width_lp - 1:0] itlb_w_entry_o; + output reg itlb_fence_v_o; + output reg icache_v_o; + output reg icache_force_o; + output wire [icache_pkt_width_lp - 1:0] icache_pkt_o; + input icache_yumi_i; + output wire shadow_priv_w_o; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + output wire [1:0] shadow_priv_o; + output wire shadow_translation_en_w_o; + output wire shadow_translation_en_o; + wire [((vaddr_width_p + 3) + (((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)))) - 1:0] fe_cmd_cast_i; + assign fe_cmd_cast_i = fe_cmd_i; + reg [(((vaddr_width_p + fetch_width_p) + branch_metadata_fwd_width_p) + fetch_ptr_p) + 2:0] fe_queue_cast_o; + assign fe_queue_o = fe_queue_cast_o; + wire [vaddr_width_p + 32:0] icache_pkt_cast_o; + assign icache_pkt_o = icache_pkt_cast_o; + reg [1:0] state_n; + reg [1:0] state_r; + wire is_reset = state_r == 2'd0; + wire is_run = state_r == 2'd2; + wire is_wait = state_r == 2'd1; + wire is_resume = state_r == 2'd3; + wire pc_redirect_v = fe_cmd_v_i & (fe_cmd_cast_i[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] == 3'd1); + wire icache_fill_response_v = fe_cmd_v_i & (fe_cmd_cast_i[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] == 3'd3); + wire icache_fence_v = fe_cmd_v_i & (fe_cmd_cast_i[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] == 3'd4); + wire state_reset_v = fe_cmd_v_i & (fe_cmd_cast_i[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] == 3'd0); + wire itlb_fill_response_v = fe_cmd_v_i & (fe_cmd_cast_i[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] == 3'd5); + wire itlb_fence_v = fe_cmd_v_i & (fe_cmd_cast_i[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] == 3'd6); + wire wait_v = fe_cmd_v_i & (fe_cmd_cast_i[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] == 3'd7); + wire br_miss_v = pc_redirect_v & (fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))))))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] == 3'd2); + wire eret_v = pc_redirect_v & (fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))))))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] == 3'd0); + wire interrupt_v = pc_redirect_v & (fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))))))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] == 3'd1); + wire trap_v = pc_redirect_v & (fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))))))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] == 3'd3); + wire translation_v = pc_redirect_v & (fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))))))-:((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) >= (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) ? ((3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) - (branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)))) + 1 : ((branch_metadata_fwd_width_p + (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) - (3 + (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))) + 1)] == 3'd5); + wire br_miss_taken = br_miss_v & (fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))))-:((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) >= (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) ? ((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) + 1 : ((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))) + 1)] == 2'd1); + wire br_miss_ntaken = br_miss_v & (fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))))-:((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) >= (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) ? ((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) + 1 : ((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))) + 1)] == 2'd2); + wire br_miss_nonbr = br_miss_v & (fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))))-:((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) >= (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) ? ((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) + 1 : ((3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) - (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))) + 1)] == 2'd0); + wire attaboy_v = fe_cmd_v_i & (fe_cmd_cast_i[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] == 3'd2); + wire cmd_nonattaboy_v = fe_cmd_v_i & (fe_cmd_cast_i[(((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2-:(((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) >= ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) ? (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) + 1 : (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0) - ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) + 1)] != 3'd2); + wire cmd_immediate_v = fe_cmd_v_i & ((pc_redirect_v | icache_fill_response_v) | wait_v); + wire cmd_complex_v = fe_cmd_v_i & (((state_reset_v | itlb_fill_response_v) | icache_fence_v) | itlb_fence_v); + assign redirect_v_o = !is_wait & cmd_nonattaboy_v; + assign redirect_pc_o = fe_cmd_cast_i[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)] - (redirect_resume_o << 1'b1); + assign redirect_npc_o = fe_cmd_cast_i[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)]; + assign redirect_br_v_o = !is_wait & br_miss_v; + assign redirect_br_taken_o = br_miss_taken; + assign redirect_br_ntaken_o = br_miss_ntaken; + assign redirect_br_nonbr_o = br_miss_nonbr; + assign redirect_br_metadata_fwd_o = fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))))-:((branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))) >= (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) ? ((branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))) - (5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0))) + 1 : ((5 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) - (branch_metadata_fwd_width_p + (3 + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)))) + 1)]; + assign attaboy_v_o = attaboy_v; + assign attaboy_force_o = ~fe_queue_ready_and_i; + assign attaboy_pc_o = fe_cmd_cast_i[vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)-:((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) >= (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) ? ((vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - (3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0))) + 1 : ((3 + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 0)) - (vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2))) + 1)]; + assign attaboy_taken_o = attaboy_v & fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - (1 + (branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1))))))]; + assign attaboy_ntaken_o = attaboy_v & ~fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - (1 + (branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1))))))]; + assign attaboy_br_metadata_fwd_o = fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - ((((1 + branch_metadata_fwd_width_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p))) - 1) - (branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1)))))-:((branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1)) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) + 0) ? ((branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1)) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) + 0) - (branch_metadata_fwd_width_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (1 + branch_metadata_fwd_width_p)) - 1))) + 1)]; + assign shadow_priv_w_o = ((state_reset_v | trap_v) | interrupt_v) | eret_v; + assign shadow_priv_o = fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1))))-:((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0) ? ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 0) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 1)) + 1)]; + assign shadow_translation_en_w_o = (((state_reset_v | trap_v) | interrupt_v) | eret_v) | translation_v; + assign shadow_translation_en_o = fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)) + 2))))]; + assign itlb_w_vtag_o = fe_cmd_cast_i[(vaddr_width_p + ((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) + 2)) - ((vaddr_width_p - 1) - (vaddr_width_p - 1))-:vtag_width_p]; + assign itlb_w_entry_o = fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)))))))-:((((paddr_width_p - 5) >= 0 ? paddr_width_p - 4 : 6 - paddr_width_p) + (32 + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) - 1)))) >= (32 + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) + 0))) ? ((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)))) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0)))) + 1 : ((bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0))) - (((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1))))) + 1)]; + function automatic [vaddr_width_p - 1:0] sv2v_cast_9A70B; + input reg [vaddr_width_p - 1:0] inp; + sv2v_cast_9A70B = inp; + endfunction + assign icache_pkt_cast_o = {sv2v_cast_9A70B(next_pc_i), (is_run & icache_fence_v ? 32'd1 : 32'd0), !icache_fill_response_v}; + assign redirect_instr_o = (itlb_fill_response_v ? fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1))))))-:((32 + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) - 1))) >= (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) + 0)) ? ((bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1))) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0))) + 1 : ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0)) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)))) + 1)] : fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((bp_common_pkg_instr_width_gp + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p))) - 1) - ((((bp_common_pkg_instr_width_gp + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p))) - 1) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1))))))-:((32 + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) - 1))) >= (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) + 0)) ? ((bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1))) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0))) + 1 : ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0)) - (bp_common_pkg_instr_width_gp + (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1)))) + 1)]); + assign redirect_resume_o = (itlb_fill_response_v ? fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (((((((paddr_width_p - 5) >= 0 ? (paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8 : 1 - ((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7)) + bp_common_pkg_instr_width_gp) + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p))) - 1) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)))))-:((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) - 1)) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) + 0) ? ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1))) + 1)] > {((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) - 1)) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - ((paddr_width_p + 28) + fetch_ptr_p)) + 0) ? ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1)) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) + 0) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p)) - 1))) + 1) * 1 {1'sb0}} : (icache_fill_response_v ? fe_cmd_cast_i[((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - (((((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5))) - 1) - ((((bp_common_pkg_instr_width_gp + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p))) - 1) - ((((bp_common_pkg_instr_width_gp + fetch_ptr_p) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p))) - 1) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1)))))-:((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) - 1)) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) + 0) ? ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1)) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1))) + 1)] > {((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) - 1)) >= (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))))) - (32 + fetch_ptr_p)) + 0) ? ((fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1)) - (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0)) + 1 : ((((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) + 0) - (fetch_ptr_p + (((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - (bp_common_pkg_instr_width_gp + fetch_ptr_p)) - 1))) + 1) * 1 {1'sb0}} : 1'b0)); + wire itlb_miss_tv_r; + wire instr_page_fault_tv_r; + wire instr_access_fault_tv_r; + bsg_dff_reset_en #(.width_p(3)) exception_reg( + .clk_i(clk_i), + .reset_i(reset_i || tv_flush_o), + .en_i(tv_we_i), + .data_i({itlb_miss_tl_i, instr_page_fault_tl_i, instr_access_fault_tl_i}), + .data_o({itlb_miss_tv_r, instr_page_fault_tv_r, instr_access_fault_tv_r}) + ); + wire if2_exception_v = |{itlb_miss_tv_r, instr_page_fault_tv_r, instr_access_fault_tv_r, icache_miss_tv_i}; + wire fetch_instr_v = ((is_run && fe_queue_ready_and_i) && fetch_v_i) && (fetch_count_i > {fetch_ptr_p {1'sb0}}); + wire fetch_exception_v = ((is_run && fe_queue_ready_and_i) && if2_exception_v) && ~fetch_instr_v; + assign fetch_yumi_o = (is_run && fe_queue_ready_and_i) && fetch_v_i; + always @(*) begin + if (_sv2v_0) + ; + fe_queue_v_o = fetch_instr_v | fetch_exception_v; + fe_queue_cast_o = 1'sb0; + fe_queue_cast_o[vaddr_width_p + (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2)))-:((vaddr_width_p + (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2)))) >= (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 3))) ? ((vaddr_width_p + (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2)))) - (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 3)))) + 1 : ((fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 3))) - (vaddr_width_p + (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))))) + 1)] = fetch_pc_i; + fe_queue_cast_o[fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))-:((fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))) >= (branch_metadata_fwd_width_p + (fetch_ptr_p + 3)) ? ((fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))) - (branch_metadata_fwd_width_p + (fetch_ptr_p + 3))) + 1 : ((branch_metadata_fwd_width_p + (fetch_ptr_p + 3)) - (fetch_width_p + (branch_metadata_fwd_width_p + (fetch_ptr_p + 2)))) + 1)] = fetch_instr_i; + fe_queue_cast_o[2-:3] = (fetch_instr_v ? 3'd4 : (itlb_miss_tv_r ? 3'd0 : (instr_page_fault_tv_r ? 3'd1 : (instr_access_fault_tv_r ? 3'd2 : 3'd3)))); + fe_queue_cast_o[branch_metadata_fwd_width_p + (fetch_ptr_p + 2)-:((branch_metadata_fwd_width_p + (fetch_ptr_p + 2)) >= (fetch_ptr_p + 3) ? ((branch_metadata_fwd_width_p + (fetch_ptr_p + 2)) - (fetch_ptr_p + 3)) + 1 : ((fetch_ptr_p + 3) - (branch_metadata_fwd_width_p + (fetch_ptr_p + 2))) + 1)] = fetch_br_metadata_fwd_i; + fe_queue_cast_o[fetch_ptr_p + 2-:((fetch_ptr_p + 2) >= 3 ? fetch_ptr_p + 0 : 4 - (fetch_ptr_p + 2))] = (fetch_instr_v ? fetch_count_i : fetch_partial_i); + end + always @(*) begin + if (_sv2v_0) + ; + icache_v_o = 1'b0; + icache_force_o = 1'b0; + itlb_r_v_o = 1'b0; + itlb_w_v_o = 1'b0; + itlb_fence_v_o = 1'b0; + tl_flush_o = 1'b0; + tv_flush_o = 1'b0; + fe_cmd_yumi_o = 1'b0; + state_n = state_r; + case (state_r) + 2'd0: begin + fe_cmd_yumi_o = fe_cmd_v_i & !state_reset_v; + state_n = (state_reset_v && pc_gen_init_done_i ? 2'd3 : state_r); + end + 2'd1: begin + fe_cmd_yumi_o = attaboy_v && attaboy_yumi_i; + tl_flush_o = 1'b1; + tv_flush_o = 1'b1; + state_n = (cmd_nonattaboy_v ? 2'd2 : state_r); + end + 2'd3: begin + icache_v_o = fe_cmd_v_i; + itlb_r_v_o = icache_yumi_i; + fe_cmd_yumi_o = icache_yumi_i; + state_n = (fe_cmd_yumi_o ? 2'd2 : state_r); + end + 2'd2: + if (cmd_immediate_v) begin + icache_v_o = 1'b1; + icache_force_o = 1'b1; + itlb_r_v_o = icache_yumi_i; + tv_flush_o = 1'b1; + fe_cmd_yumi_o = icache_yumi_i; + end + else if (cmd_complex_v) begin + icache_v_o = icache_fence_v && !icache_features_p[4'b0001]; + icache_force_o = 1'b1; + itlb_w_v_o = itlb_fill_response_v; + itlb_fence_v_o = itlb_fence_v; + tl_flush_o = itlb_fill_response_v | itlb_fence_v; + tv_flush_o = 1'b1; + state_n = 2'd3; + end + else begin + icache_v_o = 1'b1; + icache_force_o = ovr_i; + itlb_r_v_o = icache_yumi_i; + tv_flush_o = ovr_i; + fe_cmd_yumi_o = attaboy_v && attaboy_yumi_i; + state_n = (fetch_exception_v ? 2'd1 : state_r); + end + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 2'd0; + else + state_r <= state_n; + initial _sv2v_0 = 0; +endmodule +module bp_fe_icache ( + clk_i, + reset_i, + icache_pkt_i, + v_i, + force_i, + yumi_o, + tl_flush_i, + ptag_i, + ptag_v_i, + ptag_uncached_i, + ptag_nonidem_i, + ptag_dram_i, + tv_flush_i, + tv_we_o, + data_o, + hit_v_o, + miss_v_o, + fence_v_o, + yumi_i, + cache_req_o, + cache_req_v_o, + cache_req_yumi_i, + cache_req_lock_i, + cache_req_metadata_o, + cache_req_metadata_v_o, + cache_req_id_i, + cache_req_critical_i, + cache_req_last_i, + cache_req_credits_full_i, + cache_req_credits_empty_i, + data_mem_pkt_v_i, + data_mem_pkt_i, + data_mem_pkt_yumi_o, + data_mem_o, + tag_mem_pkt_v_i, + tag_mem_pkt_i, + tag_mem_pkt_yumi_o, + tag_mem_o, + stat_mem_pkt_v_i, + stat_mem_pkt_i, + stat_mem_pkt_yumi_o, + stat_mem_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter features_p = icache_features_p; + parameter misaligned_p = features_p[4'b1001]; + parameter coherent_p = features_p[4'b0001]; + parameter sets_p = icache_sets_p; + parameter assoc_p = icache_assoc_p; + parameter block_width_p = icache_block_width_p; + parameter fill_width_p = icache_fill_width_p; + parameter data_width_p = icache_data_width_p; + parameter tag_width_p = icache_tag_width_p; + parameter id_width_p = icache_req_id_width_p; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam icache_req_width_lp = ((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 8; + localparam icache_req_metadata_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1; + localparam icache_data_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 2; + localparam icache_tag_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 3; + localparam icache_tag_info_width_lp = 3 + tag_width_p; + localparam icache_stat_mem_pkt_width_lp = (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 2; + localparam icache_stat_info_width_lp = (2 > ((2 * assoc_p) - 1) ? 2 : (2 * assoc_p) - 1); + localparam icache_pkt_width_lp = (1 + vaddr_width_p) + 32; + input clk_i; + input reset_i; + input [icache_pkt_width_lp - 1:0] icache_pkt_i; + input v_i; + input force_i; + output wire yumi_o; + input tl_flush_i; + input [ptag_width_p - 1:0] ptag_i; + input ptag_v_i; + input ptag_uncached_i; + input ptag_nonidem_i; + input ptag_dram_i; + input tv_flush_i; + output wire tv_we_o; + output wire [data_width_p - 1:0] data_o; + output wire hit_v_o; + output wire miss_v_o; + output wire fence_v_o; + input yumi_i; + output wire [icache_req_width_lp - 1:0] cache_req_o; + output wire cache_req_v_o; + input cache_req_yumi_i; + input cache_req_lock_i; + output wire [icache_req_metadata_width_lp - 1:0] cache_req_metadata_o; + output wire cache_req_metadata_v_o; + input [id_width_p - 1:0] cache_req_id_i; + input cache_req_critical_i; + input cache_req_last_i; + input cache_req_credits_full_i; + input cache_req_credits_empty_i; + input data_mem_pkt_v_i; + input [icache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_i; + output wire data_mem_pkt_yumi_o; + output wire [block_width_p - 1:0] data_mem_o; + input tag_mem_pkt_v_i; + input [icache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_i; + output wire tag_mem_pkt_yumi_o; + output wire [icache_tag_info_width_lp - 1:0] tag_mem_o; + input stat_mem_pkt_v_i; + input [icache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_i; + output wire stat_mem_pkt_yumi_o; + output wire [icache_stat_info_width_lp - 1:0] stat_mem_o; + localparam lg_assoc_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam bank_width_lp = block_width_p / assoc_p; + localparam num_data_per_bank_lp = bank_width_lp / data_width_p; + localparam data_mem_mask_width_lp = bank_width_lp >> 3; + localparam byte_offset_width_lp = (((bank_width_lp >> 3) == 1) || ((bank_width_lp >> 3) == 0) ? 1 : $clog2(bank_width_lp >> 3)); + localparam bindex_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam sindex_width_lp = ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)); + localparam block_offset_width_lp = (assoc_p > 1 ? bindex_width_lp + byte_offset_width_lp : byte_offset_width_lp); + localparam block_size_in_fill_lp = block_width_p / fill_width_p; + localparam fill_size_in_bank_lp = fill_width_p / bank_width_lp; + reg [1:0] state_n; + reg [1:0] state_r; + wire is_ready = state_r == 2'd0; + wire is_miss = state_r == 2'd1; + wire is_recover = state_r == 2'd2; + wire tl_we; + wire tv_we; + wire v_tl_n; + wire v_tl_r; + wire v_tv_n; + wire v_tv_r; + wire critical_recv = (((is_miss & cache_req_critical_i) & (~stat_mem_pkt_v_i | stat_mem_pkt_yumi_o)) & (~tag_mem_pkt_v_i | tag_mem_pkt_yumi_o)) & (~data_mem_pkt_v_i | data_mem_pkt_yumi_o); + wire complete_recv = (((is_miss & cache_req_last_i) & (~stat_mem_pkt_v_i | stat_mem_pkt_yumi_o)) & (~tag_mem_pkt_v_i | tag_mem_pkt_yumi_o)) & (~data_mem_pkt_v_i | data_mem_pkt_yumi_o); + wire [block_width_p - 1:0] snoop_data; + wire [assoc_p - 1:0] snoop_hit; + wire [assoc_p - 1:0] snoop_way; + wire [assoc_p - 1:0] snoop_bank_sel_one_hot; + wire snoop_spec; + wire snoop_uncached; + wire [1:0] snoop_decode; + wire [vaddr_width_p + 32:0] icache_pkt_cast_i; + assign icache_pkt_cast_i = icache_pkt_i; + wire [1:0] decode_lo; + wire [vaddr_width_p - 1:0] vaddr = icache_pkt_cast_i[vaddr_width_p + 32-:((vaddr_width_p + 32) >= 33 ? vaddr_width_p + 0 : 34 - (vaddr_width_p + 32))]; + wire [vtag_width_p - 1:0] vaddr_vtag = vaddr[vaddr_width_p - 1-:vtag_width_p]; + wire [sindex_width_lp - 1:0] vaddr_index = vaddr[block_offset_width_lp+:sindex_width_lp]; + wire [bindex_width_lp - 1:0] vaddr_bank = vaddr[byte_offset_width_lp+:bindex_width_lp]; + wire spec = icache_pkt_cast_i[0]; + function automatic [0:0] sv2v_cast_1; + input reg [0:0] inp; + sv2v_cast_1 = inp; + endfunction + assign decode_lo = {sv2v_cast_1(icache_pkt_cast_i[32-:32] == 32'd0), sv2v_cast_1(icache_pkt_cast_i[32-:32] == 32'd1)}; + assign yumi_o = v_i & tl_we; + wire [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 2:0] tag_mem_pkt_cast_i; + assign tag_mem_pkt_cast_i = tag_mem_pkt_i; + wire tag_mem_v_li; + wire tag_mem_w_li; + wire [sindex_width_lp - 1:0] tag_mem_addr_li; + reg [(assoc_p * (3 + tag_width_p)) - 1:0] tag_mem_w_mask_li; + reg [(assoc_p * (3 + tag_width_p)) - 1:0] tag_mem_data_li; + wire [(assoc_p * (3 + tag_width_p)) - 1:0] tag_mem_data_lo; + bsg_mem_1rw_sync_mask_write_bit #( + .width_p(assoc_p * (3 + tag_width_p)), + .els_p(sets_p), + .latch_last_read_p(1) + ) tag_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(tag_mem_data_li), + .addr_i(tag_mem_addr_li), + .v_i(tag_mem_v_li), + .w_mask_i(tag_mem_w_mask_li), + .w_i(tag_mem_w_li), + .data_o(tag_mem_data_lo) + ); + wire [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 1:0] data_mem_pkt_cast_i; + assign data_mem_pkt_cast_i = data_mem_pkt_i; + localparam data_mem_addr_width_lp = (assoc_p > 1 ? sindex_width_lp + bindex_width_lp : sindex_width_lp); + wire [assoc_p - 1:0] data_mem_v_li; + wire [assoc_p - 1:0] data_mem_w_li; + wire [(assoc_p * data_mem_addr_width_lp) - 1:0] data_mem_addr_li; + wire [(assoc_p * bank_width_lp) - 1:0] data_mem_data_li; + wire [(assoc_p * bank_width_lp) - 1:0] data_mem_data_lo; + genvar _gv_bank_1; + generate + for (_gv_bank_1 = 0; _gv_bank_1 < assoc_p; _gv_bank_1 = _gv_bank_1 + 1) begin : data_mems + localparam bank = _gv_bank_1; + bsg_mem_1rw_sync #( + .width_p(bank_width_lp), + .els_p(sets_p * assoc_p), + .latch_last_read_p(1) + ) data_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(data_mem_data_li[bank * bank_width_lp+:bank_width_lp]), + .addr_i(data_mem_addr_li[bank * data_mem_addr_width_lp+:data_mem_addr_width_lp]), + .v_i(data_mem_v_li[bank]), + .w_i(data_mem_w_li[bank]), + .data_o(data_mem_data_lo[bank * bank_width_lp+:bank_width_lp]) + ); + end + endgenerate + wire [vaddr_width_p - 1:0] vaddr_tl_r; + wire spec_tl_r; + wire [1:0] decode_tl_r; + assign tl_we = (v_tl_r ? tv_we | force_i : ~cache_req_lock_i); + bsg_dff_reset_en #(.width_p(1)) v_tl_reg( + .clk_i(clk_i), + .reset_i(reset_i | tl_flush_i), + .en_i(tl_we), + .data_i(yumi_o), + .data_o(v_tl_r) + ); + bsg_dff_reset_en #(.width_p(vaddr_width_p + 3)) tl_stage_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(tl_we), + .data_i({vaddr, spec, decode_lo}), + .data_o({vaddr_tl_r, spec_tl_r, decode_tl_r}) + ); + wire [paddr_width_p - 1:0] paddr_tl = {ptag_i, vaddr_tl_r[0+:bp_common_pkg_page_offset_width_gp]}; + wire [vtag_width_p - 1:0] vaddr_vtag_tl = vaddr_tl_r[vaddr_width_p - 1-:vtag_width_p]; + wire [sindex_width_lp - 1:0] vaddr_index_tl = vaddr_tl_r[block_offset_width_lp+:sindex_width_lp]; + wire [bindex_width_lp - 1:0] vaddr_bank_tl = vaddr_tl_r[byte_offset_width_lp+:bindex_width_lp]; + localparam ctag_vbits_lp = bp_common_pkg_page_offset_width_gp - (block_offset_width_lp + sindex_width_lp); + wire [(ctag_vbits_lp > 1 ? ctag_vbits_lp : 1) - 1:0] ctag_vbits = vaddr_tl_r[block_offset_width_lp + sindex_width_lp+:(ctag_vbits_lp > 1 ? ctag_vbits_lp : 1)]; + function automatic [tag_width_p - 1:0] sv2v_cast_B896A; + input reg [tag_width_p - 1:0] inp; + sv2v_cast_B896A = inp; + endfunction + wire [tag_width_p - 1:0] ctag_li = sv2v_cast_B896A((ctag_vbits_lp != 0 ? {ptag_i, ctag_vbits} : ptag_i)); + wire [paddr_width_p - 1:caddr_width_p] ptag_high_li = paddr_tl[paddr_width_p - 1:caddr_width_p]; + wire [assoc_p - 1:0] way_v_tl; + wire [assoc_p - 1:0] hit_v_tl; + genvar _gv_i_56; + generate + for (_gv_i_56 = 0; _gv_i_56 < assoc_p; _gv_i_56 = _gv_i_56 + 1) begin : tag_comp_tl + localparam i = _gv_i_56; + wire tag_match_tl = (ptag_v_i & ~|ptag_high_li) & (ctag_li == tag_mem_data_lo[(i * (3 + tag_width_p)) + (tag_width_p - 1)-:tag_width_p]); + assign way_v_tl[i] = tag_mem_data_lo[(i * (3 + tag_width_p)) + (tag_width_p + 2)-:((tag_width_p + 2) >= (tag_width_p + 0) ? ((tag_width_p + 2) - (tag_width_p + 0)) + 1 : ((tag_width_p + 0) - (tag_width_p + 2)) + 1)] != 3'b000; + assign hit_v_tl[i] = tag_match_tl & ((tag_mem_data_lo[(i * (3 + tag_width_p)) + (tag_width_p - 1)-:tag_width_p] == ctag_li) && way_v_tl[i]); + end + endgenerate + wire fetch_uncached_tl = decode_tl_r[1] & ptag_uncached_i; + wire fetch_cached_tl = decode_tl_r[1] & ~ptag_uncached_i; + wire spec_tl = (decode_tl_r[1] & !ptag_v_i) || ((decode_tl_r[1] & spec_tl_r) & ptag_nonidem_i); + wire [assoc_p - 1:0] bank_sel_one_hot_tl; + bsg_decode #(.num_out_p(assoc_p)) offset_decode( + .i(vaddr_bank_tl), + .o(bank_sel_one_hot_tl) + ); + localparam bp_common_pkg_word_width_gp = 32; + localparam snoop_offset_width_lp = (((fill_width_p / bp_common_pkg_word_width_gp) == 1) || ((fill_width_p / bp_common_pkg_word_width_gp) == 0) ? 1 : $clog2(fill_width_p / 32)); + wire [paddr_width_p - 1:0] paddr_tv_r; + wire [assoc_p - 1:0] bank_sel_one_hot_tv_r; + wire [assoc_p - 1:0] way_v_tv_r; + wire [assoc_p - 1:0] hit_v_tv_r; + wire spec_tv_r; + wire uncached_tv_r; + wire [1:0] decode_tv_r; + wire snoop_tv_r; + wire [(assoc_p * bank_width_lp) - 1:0] ld_data_tv_r; + assign tv_we = (v_tv_r ? yumi_i : is_ready); + bsg_dff_reset_en #(.width_p(1)) v_tv_reg( + .clk_i(clk_i), + .reset_i(reset_i | tv_flush_i), + .en_i(tv_we), + .data_i(v_tl_r), + .data_o(v_tv_r) + ); + assign tv_we_o = tv_we; + wire [assoc_p - 1:0] bank_sel_one_hot_tv_n; + wire [assoc_p - 1:0] way_v_tv_n; + wire [assoc_p - 1:0] hit_v_tv_n; + wire [block_width_p - 1:0] ld_data_tv_n; + wire spec_tv_n; + wire uncached_tv_n; + wire [1:0] decode_tv_n; + bsg_mux #( + .width_p(((3 * assoc_p) + block_width_p) + 4), + .els_p(2) + ) hit_mux( + .data_i({snoop_bank_sel_one_hot, snoop_way, snoop_hit, snoop_data, snoop_spec, snoop_uncached, snoop_decode, bank_sel_one_hot_tl, way_v_tl, hit_v_tl, data_mem_data_lo, spec_tl, fetch_uncached_tl, decode_tl_r}), + .sel_i(critical_recv), + .data_o({bank_sel_one_hot_tv_n, way_v_tv_n, hit_v_tv_n, ld_data_tv_n, spec_tv_n, uncached_tv_n, decode_tv_n}) + ); + wire snoop_tv_n = critical_recv; + bsg_dff_reset_en #(.width_p(((block_width_p + 1) + (3 * assoc_p)) + 4)) tv_stage_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(tv_we | critical_recv), + .data_i({ld_data_tv_n, snoop_tv_n, bank_sel_one_hot_tv_n, way_v_tv_n, hit_v_tv_n, spec_tv_n, uncached_tv_n, decode_tv_n}), + .data_o({ld_data_tv_r, snoop_tv_r, bank_sel_one_hot_tv_r, way_v_tv_r, hit_v_tv_r, spec_tv_r, uncached_tv_r, decode_tv_r}) + ); + wire [paddr_width_p - 1:0] paddr_tv_n = (critical_recv ? paddr_tv_r : paddr_tl); + bsg_dff_en #(.width_p(paddr_width_p)) paddr_reg( + .clk_i(clk_i), + .en_i(tv_we | critical_recv), + .data_i(paddr_tv_n), + .data_o(paddr_tv_r) + ); + wire [lg_assoc_lp - 1:0] invalid_way_tv; + wire invalid_exist_tv; + bsg_priority_encode #( + .width_p(assoc_p), + .lo_to_hi_p(1) + ) pe_invalid( + .i(~way_v_tv_r), + .v_o(invalid_exist_tv), + .addr_o(invalid_way_tv) + ); + wire [lg_assoc_lp - 1:0] lru_encode; + wire [lg_assoc_lp - 1:0] lru_way_li = (invalid_exist_tv ? invalid_way_tv : lru_encode); + wire [lg_assoc_lp - 1:0] hit_index_tv; + wire hit_v_tv; + bsg_encode_one_hot #( + .width_p(assoc_p), + .lo_to_hi_p(1) + ) hit_index_encoder( + .i(hit_v_tv_r), + .addr_o(hit_index_tv), + .v_o(hit_v_tv) + ); + wire [assoc_p - 1:0] ld_data_way_select_tv; + bsg_adder_one_hot #(.width_p(assoc_p)) select_adder( + .a_i(hit_v_tv_r), + .b_i(bank_sel_one_hot_tv_r), + .o(ld_data_way_select_tv) + ); + wire [bank_width_lp - 1:0] ld_data_way_picked; + bsg_mux_one_hot #( + .width_p(bank_width_lp), + .els_p(assoc_p) + ) data_set_select_mux( + .data_i(ld_data_tv_r), + .sel_one_hot_i(ld_data_way_select_tv), + .data_o(ld_data_way_picked) + ); + wire [data_width_p - 1:0] final_data_tv; + wire [((num_data_per_bank_lp == 1) || (num_data_per_bank_lp == 0) ? 1 : $clog2(num_data_per_bank_lp)) - 1:0] ld_data_word_sel_tv = paddr_tv_r[2+:((num_data_per_bank_lp == 1) || (num_data_per_bank_lp == 0) ? 1 : $clog2(num_data_per_bank_lp))]; + bsg_mux #( + .width_p(data_width_p), + .els_p(num_data_per_bank_lp) + ) data_select_mux( + .data_i(ld_data_way_picked), + .sel_i(ld_data_word_sel_tv), + .data_o(final_data_tv) + ); + assign data_o = final_data_tv; + assign hit_v_o = (((is_ready & v_tv_r) & decode_tv_r[1]) & ~spec_tv_r) & hit_v_tv; + assign miss_v_o = (((is_ready & v_tv_r) & decode_tv_r[1]) & spec_tv_r) & ~hit_v_tv; + assign fence_v_o = ((is_ready & v_tv_r) & decode_tv_r[0]) & snoop_tv_r; + wire [(((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 1:0] stat_mem_pkt_cast_i; + assign stat_mem_pkt_cast_i = stat_mem_pkt_i; + wire stat_mem_v_li; + wire stat_mem_w_li; + wire [sindex_width_lp - 1:0] stat_mem_addr_li; + wire [(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p) - 1:0] stat_mem_data_li; + wire [(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p) - 1:0] stat_mem_mask_li; + wire [(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p) - 1:0] stat_mem_data_lo; + bsg_mem_1rw_sync_mask_write_bit #( + .width_p(assoc_p - 1), + .els_p(sets_p), + .latch_last_read_p(1) + ) stat_mem( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(stat_mem_data_li[((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)-:((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) >= (assoc_p + 0) ? ((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) - (assoc_p + 0)) + 1 : ((assoc_p + 0) - (((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1))) + 1)]), + .addr_i(stat_mem_addr_li), + .v_i(stat_mem_v_li), + .w_mask_i(stat_mem_mask_li[((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)-:((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) >= (assoc_p + 0) ? ((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) - (assoc_p + 0)) + 1 : ((assoc_p + 0) - (((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1))) + 1)]), + .w_i(stat_mem_w_li), + .data_o(stat_mem_data_lo[((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)-:((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) >= (assoc_p + 0) ? ((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) - (assoc_p + 0)) + 1 : ((assoc_p + 0) - (((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1))) + 1)]) + ); + assign stat_mem_data_lo[assoc_p - 1-:assoc_p] = 1'sb0; + bsg_lru_pseudo_tree_encode #(.ways_p(assoc_p)) lru_encoder( + .lru_i(stat_mem_data_lo[((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)-:((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) >= (assoc_p + 0) ? ((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) - (assoc_p + 0)) + 1 : ((assoc_p + 0) - (((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1))) + 1)]), + .way_id_o(lru_encode) + ); + wire [((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7:0] cache_req_cast_o; + assign cache_req_o = cache_req_cast_o; + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0:0] cache_req_metadata_cast_o; + assign cache_req_metadata_o = cache_req_metadata_cast_o; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + localparam block_req_size = sv2v_cast_3((((block_width_p / 8) == 1) || ((block_width_p / 8) == 0) ? 1 : $clog2(block_width_p / 8))); + localparam uncached_req_size = sv2v_cast_3((((data_width_p / 8) == 1) || ((data_width_p / 8) == 0) ? 1 : $clog2(data_width_p / 8))); + wire cached_req = (((decode_tv_r[1] & ~snoop_tv_r) & ~hit_v_tv) & ~uncached_tv_r) & ~spec_tv_r; + wire uncached_req = (((decode_tv_r[1] & ~snoop_tv_r) & ~hit_v_tv) & uncached_tv_r) & ~spec_tv_r; + wire inval_req = decode_tv_r[0] & ~snoop_tv_r; + assign cache_req_v_o = ((is_ready & v_tv_r) & |{uncached_req, cached_req, inval_req}) & ~tv_flush_i; + function automatic [id_width_p - 1:0] sv2v_cast_46BE3; + input reg [id_width_p - 1:0] inp; + sv2v_cast_46BE3 = inp; + endfunction + function automatic [data_width_p - 1:0] sv2v_cast_2E030; + input reg [data_width_p - 1:0] inp; + sv2v_cast_2E030 = inp; + endfunction + function automatic [paddr_width_p - 1:0] sv2v_cast_E112D; + input reg [paddr_width_p - 1:0] inp; + sv2v_cast_E112D = inp; + endfunction + assign cache_req_cast_o = {sv2v_cast_46BE3(1'sb0), hit_v_tv, sv2v_cast_2E030(1'sb0), (cached_req ? block_req_size : uncached_req_size), sv2v_cast_E112D(paddr_tv_r), (cached_req ? 4'b0000 : (uncached_req ? 4'b0011 : 4'b0111)), 4'b0011}; + wire cache_req_metadata_v = cache_req_yumi_i; + bsg_dff_reset #(.width_p(1)) cache_req_v_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(cache_req_metadata_v), + .data_o(cache_req_metadata_v_o) + ); + wire metadata_hit_r; + wire [lg_assoc_lp - 1:0] metadata_hit_index_r; + bsg_dff #(.width_p(1 + lg_assoc_lp)) hit_reg( + .clk_i(clk_i), + .data_i({hit_v_tv, hit_index_tv}), + .data_o({metadata_hit_r, metadata_hit_index_r}) + ); + wire [assoc_p - 1:0] hit_or_repl_way = (metadata_hit_r ? metadata_hit_index_r : lru_way_li); + assign cache_req_metadata_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))] = hit_or_repl_way; + assign cache_req_metadata_cast_o[0] = 1'sb0; + always @(*) begin + if (_sv2v_0) + ; + case (state_r) + 2'd0: state_n = (cache_req_yumi_i ? 2'd1 : state_r); + 2'd1: state_n = (complete_recv ? 2'd2 : state_r); + default: state_n = 2'd0; + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 2'd0; + else + state_r <= state_n; + wire do_recover = is_recover & ~yumi_o; + wire tag_mem_bypass = (v_tl_r & decode_tl_r[1]) & (vaddr_index == vaddr_index_tl); + wire tag_mem_fast_read = do_recover || ((yumi_o & decode_lo[1]) & ~tag_mem_bypass); + wire tag_mem_fast_write = 1'b0; + wire tag_mem_slow_read = tag_mem_pkt_yumi_o & (tag_mem_pkt_cast_i[2-:3] == 3'd4); + wire tag_mem_slow_write = tag_mem_pkt_yumi_o & (tag_mem_pkt_cast_i[2-:3] != 3'd4); + assign tag_mem_v_li = ((tag_mem_fast_read | tag_mem_fast_write) | tag_mem_slow_read) | tag_mem_slow_write; + assign tag_mem_w_li = tag_mem_fast_write | tag_mem_slow_write; + assign tag_mem_addr_li = (tag_mem_fast_read ? (do_recover ? vaddr_index_tl : vaddr_index) : tag_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)]); + assign tag_mem_pkt_yumi_o = tag_mem_pkt_v_i & ~|tag_mem_fast_read; + wire [assoc_p - 1:0] tag_mem_way_one_hot; + bsg_decode #(.num_out_p(assoc_p)) tag_mem_way_decode( + .i(tag_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)]), + .o(tag_mem_way_one_hot) + ); + function automatic [2:0] sv2v_cast_2554E; + input reg [2:0] inp; + sv2v_cast_2554E = inp; + endfunction + function automatic [tag_width_p - 1:0] sv2v_cast_197B3; + input reg [tag_width_p - 1:0] inp; + sv2v_cast_197B3 = inp; + endfunction + always @(*) begin : sv2v_autoblock_1 + reg signed [31:0] i; + if (_sv2v_0) + ; + for (i = 0; i < assoc_p; i = i + 1) + case (tag_mem_pkt_cast_i[2-:3]) + 3'd1: begin + tag_mem_data_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(tag_mem_pkt_cast_i[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)]), sv2v_cast_B896A(tag_mem_pkt_cast_i[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))])}; + tag_mem_w_mask_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E({3 {tag_mem_way_one_hot[i]}}), sv2v_cast_B896A({tag_width_p {tag_mem_way_one_hot[i]}})}; + end + 3'd2: begin + tag_mem_data_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(tag_mem_pkt_cast_i[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)]), sv2v_cast_197B3(1'sb0)}; + tag_mem_w_mask_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E({3 {tag_mem_way_one_hot[i]}}), sv2v_cast_197B3(1'sb0)}; + end + 3'd3: begin + tag_mem_data_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(3'b000), sv2v_cast_197B3(1'sb0)}; + tag_mem_w_mask_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(3'b111), sv2v_cast_197B3(1'sb0)}; + end + default: begin + tag_mem_data_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(3'b000), sv2v_cast_197B3(1'sb0)}; + tag_mem_w_mask_li[i * (3 + tag_width_p)+:3 + tag_width_p] = {sv2v_cast_2554E(3'b111), sv2v_cast_197B3(1'sb1)}; + end + endcase + end + wire [lg_assoc_lp - 1:0] tag_mem_pkt_way_r; + bsg_dff #(.width_p(lg_assoc_lp)) tag_mem_pkt_way_reg( + .clk_i(clk_i), + .data_i(tag_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)]), + .data_o(tag_mem_pkt_way_r) + ); + assign tag_mem_o = tag_mem_data_lo[tag_mem_pkt_way_r * (3 + tag_width_p)+:3 + tag_width_p]; + wire [assoc_p - 1:0] vaddr_bank_dec; + bsg_decode #(.num_out_p(assoc_p)) bypass_bank_decode( + .i(vaddr_bank), + .o(vaddr_bank_dec) + ); + wire [assoc_p - 1:0] data_mem_bypass_select; + bsg_adder_one_hot #(.width_p(assoc_p)) data_mem_bank_select_adder( + .a_i(hit_v_tl), + .b_i(vaddr_bank_dec), + .o(data_mem_bypass_select) + ); + wire [((fill_width_p == 1) || (fill_width_p == 0) ? 1 : $clog2(fill_width_p)) - 1:0] write_data_rot_li = data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] * bank_width_lp; + wire [fill_width_p - 1:0] data_mem_pkt_fill_data_li; + bsg_rotate_left #(.width_p(fill_width_p)) write_data_rotate( + .data_i(data_mem_pkt_cast_i[fill_width_p + ((block_width_p / fill_width_p) + 1)-:((fill_width_p + ((block_width_p / fill_width_p) + 1)) >= ((block_width_p / fill_width_p) + 2) ? ((fill_width_p + ((block_width_p / fill_width_p) + 1)) - ((block_width_p / fill_width_p) + 2)) + 1 : (((block_width_p / fill_width_p) + 2) - (fill_width_p + ((block_width_p / fill_width_p) + 1))) + 1)]), + .rot_i(write_data_rot_li), + .o(data_mem_pkt_fill_data_li) + ); + wire [(assoc_p * bank_width_lp) - 1:0] data_mem_pkt_data_li = {block_size_in_fill_lp {data_mem_pkt_fill_data_li}}; + wire [(block_size_in_fill_lp * fill_size_in_bank_lp) - 1:0] data_mem_pkt_fill_mask_expanded; + bsg_expand_bitmask #( + .in_width_p(block_size_in_fill_lp), + .expand_p(fill_size_in_bank_lp) + ) fill_mask_expand( + .i(data_mem_pkt_cast_i[(block_width_p / fill_width_p) + 1-:(((block_width_p / fill_width_p) + 1) >= 2 ? (block_width_p / fill_width_p) + 0 : 3 - ((block_width_p / fill_width_p) + 1))]), + .o(data_mem_pkt_fill_mask_expanded) + ); + wire [assoc_p - 1:0] data_mem_write_bank_mask; + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) - 1:0] write_mask_rot_li = data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)]; + bsg_rotate_left #(.width_p(assoc_p)) write_mask_rotate( + .data_i(data_mem_pkt_fill_mask_expanded), + .rot_i(write_mask_rot_li), + .o(data_mem_write_bank_mask) + ); + wire data_mem_bypass = ((v_tl_r & decode_tl_r[1]) & (vaddr_index == vaddr_index_tl)) && (vaddr_vtag == vaddr_vtag_tl); + wire [assoc_p - 1:0] data_mem_fast_read; + wire [assoc_p - 1:0] data_mem_fast_write; + wire [assoc_p - 1:0] data_mem_slow_read; + wire [assoc_p - 1:0] data_mem_slow_write; + genvar _gv_i_57; + function automatic signed [bindex_width_lp - 1:0] sv2v_cast_8FF4C_signed; + input reg signed [bindex_width_lp - 1:0] inp; + sv2v_cast_8FF4C_signed = inp; + endfunction + generate + for (_gv_i_57 = 0; _gv_i_57 < assoc_p; _gv_i_57 = _gv_i_57 + 1) begin : data_mem_lines + localparam i = _gv_i_57; + assign data_mem_slow_read[i] = data_mem_pkt_yumi_o & (data_mem_pkt_cast_i[1-:2] == 2'd1); + assign data_mem_slow_write[i] = (data_mem_pkt_yumi_o & (data_mem_pkt_cast_i[1-:2] == 2'd0)) & data_mem_write_bank_mask[i]; + assign data_mem_fast_read[i] = do_recover || ((yumi_o & decode_lo[1]) & (~data_mem_bypass | data_mem_bypass_select[i])); + assign data_mem_v_li[i] = (data_mem_fast_read[i] | data_mem_slow_read[i]) | data_mem_slow_write[i]; + assign data_mem_w_li[i] = data_mem_slow_write[i]; + wire [bindex_width_lp - 1:0] data_mem_pkt_offset = sv2v_cast_8FF4C_signed(i) - data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)]; + assign data_mem_addr_li[i * data_mem_addr_width_lp+:data_mem_addr_width_lp] = (data_mem_fast_read[i] ? (do_recover ? {vaddr_index_tl, {assoc_p > 1 {vaddr_bank_tl}}} : {vaddr_index, {assoc_p > 1 {vaddr_bank}}}) : {data_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)], {assoc_p > 1 {data_mem_pkt_offset}}}); + assign data_mem_data_li[i * bank_width_lp+:bank_width_lp] = data_mem_pkt_data_li[i * bank_width_lp+:bank_width_lp]; + end + endgenerate + assign data_mem_pkt_yumi_o = (data_mem_pkt_cast_i[1-:2] == 2'd2 ? data_mem_pkt_v_i : data_mem_pkt_v_i & ~|data_mem_fast_read); + wire [lg_assoc_lp - 1:0] data_mem_pkt_way_r; + bsg_dff #(.width_p(lg_assoc_lp)) data_mem_pkt_way_reg( + .clk_i(clk_i), + .data_i(data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)]), + .data_o(data_mem_pkt_way_r) + ); + wire [((block_width_p == 1) || (block_width_p == 0) ? 1 : $clog2(block_width_p)) - 1:0] read_data_rot_li = data_mem_pkt_way_r * bank_width_lp; + bsg_rotate_right #(.width_p(block_width_p)) read_data_rotate( + .data_i(data_mem_data_lo), + .rot_i(read_data_rot_li), + .o(data_mem_o) + ); + wire stat_mem_fast_read = ~uncached_tv_r & cache_req_yumi_i; + wire stat_mem_fast_write = ~uncached_tv_r & yumi_i; + wire stat_mem_slow_write = stat_mem_pkt_v_i & (stat_mem_pkt_cast_i[1-:2] != 2'd1); + assign stat_mem_pkt_yumi_o = (stat_mem_pkt_v_i & ~stat_mem_fast_write) & ~stat_mem_fast_read; + assign stat_mem_v_li = (stat_mem_fast_read | stat_mem_fast_write) | stat_mem_pkt_yumi_o; + assign stat_mem_w_li = stat_mem_fast_write | (stat_mem_pkt_yumi_o & stat_mem_slow_write); + assign stat_mem_addr_li = (stat_mem_fast_write | stat_mem_fast_read ? paddr_tv_r[block_offset_width_lp+:sindex_width_lp] : stat_mem_pkt_cast_i[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)]); + wire [(assoc_p < 2 ? 0 : assoc_p - 2):0] lru_decode_data_lo; + wire [(assoc_p < 2 ? 0 : assoc_p - 2):0] lru_decode_mask_lo; + bsg_lru_pseudo_tree_decode #(.ways_p(assoc_p)) lru_decode( + .way_id_i(hit_index_tv), + .data_o(lru_decode_data_lo), + .mask_o(lru_decode_mask_lo) + ); + assign stat_mem_data_li[((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)-:((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) >= (assoc_p + 0) ? ((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) - (assoc_p + 0)) + 1 : ((assoc_p + 0) - (((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1))) + 1)] = (stat_mem_fast_write ? lru_decode_data_lo : {((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) >= (assoc_p + 0) ? ((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) - (assoc_p + 0)) + 1 : ((assoc_p + 0) - (((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1))) + 1) * 1 {1'sb0}}); + assign stat_mem_mask_li[((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)-:((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) >= (assoc_p + 0) ? ((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) - (assoc_p + 0)) + 1 : ((assoc_p + 0) - (((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1))) + 1)] = (stat_mem_fast_write ? lru_decode_mask_lo : {((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) >= (assoc_p + 0) ? ((((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1)) - (assoc_p + 0)) + 1 : ((assoc_p + 0) - (((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + (assoc_p - 1))) + 1) * 1 {1'sb1}}); + assign stat_mem_o = stat_mem_data_lo; + wire [assoc_p - 1:0] pseudo_hit = (data_mem_pkt_v_i << data_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)]) | (tag_mem_pkt_v_i << tag_mem_pkt_cast_i[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)]); + assign snoop_hit = pseudo_hit; + assign snoop_way = pseudo_hit; + assign snoop_data = data_mem_data_li; + assign snoop_spec = spec_tv_r; + assign snoop_uncached = uncached_tv_r; + assign snoop_decode = decode_tv_r; + assign snoop_bank_sel_one_hot = bank_sel_one_hot_tv_r; + generate + if (((((block_width_p * sets_p) / 8) == 1) || (((block_width_p * sets_p) / 8) == 0) ? 1 : $clog2((block_width_p * sets_p) / 8)) > bp_common_pkg_page_offset_width_gp) begin : genblk4 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_fe/src/v/bp_fe_icache.sv:732:5 - bp_fe_icache.genblk4\n msg: ", "Cache way size must be at most 4kB"); + end + if ((1 << $clog2(assoc_p)) != assoc_p) begin : genblk5 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_fe/src/v/bp_fe_icache.sv:736:5 - bp_fe_icache.genblk5\n msg: ", "Associativity must be power of two"); + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bp_fe_scan ( + assembled_v_i, + assembled_pc_i, + assembled_instr_i, + assembled_br_metadata_fwd_i, + assembled_count_i, + assembled_partial_i, + assembled_count_o, + assembled_yumi_o, + fetch_v_o, + fetch_pc_o, + fetch_instr_o, + fetch_br_metadata_fwd_o, + fetch_count_o, + fetch_partial_o, + fetch_scan_o, + fetch_startup_o, + fetch_catchup_o, + fetch_rebase_o, + fetch_linear_o, + fetch_taken_i, + fetch_yumi_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam decode_width_lp = 47; + localparam scan_width_lp = 125; + input assembled_v_i; + input [vaddr_width_p - 1:0] assembled_pc_i; + input [(fetch_cinstr_p * 16) - 1:0] assembled_instr_i; + input [branch_metadata_fwd_width_p - 1:0] assembled_br_metadata_fwd_i; + input [fetch_ptr_p - 1:0] assembled_count_i; + input assembled_partial_i; + output wire [fetch_ptr_p - 1:0] assembled_count_o; + output wire assembled_yumi_o; + output wire fetch_v_o; + output wire [vaddr_width_p - 1:0] fetch_pc_o; + output wire [fetch_width_p - 1:0] fetch_instr_o; + output wire [branch_metadata_fwd_width_p - 1:0] fetch_br_metadata_fwd_o; + output wire [fetch_ptr_p - 1:0] fetch_count_o; + output wire fetch_partial_o; + output wire [124:0] fetch_scan_o; + output wire fetch_startup_o; + output wire fetch_catchup_o; + output wire fetch_rebase_o; + output wire fetch_linear_o; + input fetch_taken_i; + input fetch_yumi_i; + reg [124:0] fetch_scan_cast_o; + assign fetch_scan_o = fetch_scan_cast_o; + wire [(fetch_cinstr_p >= 0 ? ((fetch_cinstr_p + 1) * 47) - 1 : ((1 - fetch_cinstr_p) * 47) + ((fetch_cinstr_p * 47) - 1)):(fetch_cinstr_p >= 0 ? 0 : fetch_cinstr_p * 47)] decode_lo; + wire [(fetch_cinstr_p >= -1 ? ((fetch_cinstr_p + 2) * 16) - 17 : ((1 - (1 + fetch_cinstr_p)) * 16) + ((fetch_cinstr_p * 16) - 1)):(fetch_cinstr_p >= -1 ? -16 : fetch_cinstr_p * 16)] instr; + wire [fetch_cinstr_p:-1] full1; + wire [fetch_cinstr_p:0] branch; + wire [fetch_cinstr_p:0] complete; + assign instr = {assembled_instr_i, 16'b0000000000000000}; + assign full1[-1] = 1'b0; + genvar _gv_i_58; + localparam bp_common_pkg_rv64_funct3_width_gp = 3; + localparam bp_common_pkg_rv64_funct7_width_gp = 7; + localparam bp_common_pkg_rv64_opcode_width_gp = 7; + localparam bp_common_pkg_rv64_reg_addr_width_gp = 5; + function automatic [38:0] sv2v_cast_39; + input reg [38:0] inp; + sv2v_cast_39 = inp; + endfunction + generate + for (_gv_i_58 = 0; _gv_i_58 <= fetch_cinstr_p; _gv_i_58 = _gv_i_58 + 1) begin : scan + localparam i = _gv_i_58; + wire [31:0] curr_instr; + wire is_full1 = (assembled_v_i && (i < assembled_count_i)) && full1[i]; + wire is_full2 = (assembled_v_i && (i < assembled_count_i)) && full1[i - 1]; + wire is_comp = (assembled_v_i && (i < assembled_count_i)) && (!full1[i] & !full1[i - 1]); + assign curr_instr = (is_full2 ? {instr[(fetch_cinstr_p >= -1 ? i : -(1 + (i - fetch_cinstr_p))) * 16+:16], instr[(fetch_cinstr_p >= -1 ? i - 1 : -(1 + ((i - 1) - fetch_cinstr_p))) * 16+:16]} : instr[(fetch_cinstr_p >= -1 ? i : -(1 + (i - fetch_cinstr_p))) * 16+:16]); + wire is_br = is_full2 && ((({{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1100011} ^ (curr_instr ^ curr_instr)) === (curr_instr ^ ({{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1100011} ^ {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1100011}))) & ((((curr_instr ^ curr_instr) ^ ({{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1100011} ^ {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1100011})) === ({{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1100011} ^ {{7 {1'bz}}, {5 {1'bz}}, {5 {1'bz}}, 3'bzzz, {5 {1'bz}}, 7'b1100011})) | 1'bx)); + wire is_jal = is_full2 && ((({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ (curr_instr ^ curr_instr)) === (curr_instr ^ ({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ {{20 {1'bz}}, {5 {1'bz}}, 7'b1101111}))) & ((((curr_instr ^ curr_instr) ^ ({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ {{20 {1'bz}}, {5 {1'bz}}, 7'b1101111})) === ({{20 {1'bz}}, {5 {1'bz}}, 7'b1101111} ^ {{20 {1'bz}}, {5 {1'bz}}, 7'b1101111})) | 1'bx)); + wire is_jalr = is_full2 && ((({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ (curr_instr ^ curr_instr)) === (curr_instr ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111}))) & ((((curr_instr ^ curr_instr) ^ ({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111})) === ({{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111} ^ {{12 {1'bz}}, {5 {1'bz}}, 3'b000, {5 {1'bz}}, 7'b1100111})) | 1'bx)); + wire is_link_dest = |{curr_instr[11-:5] == 5'h01, curr_instr[11-:5] == 5'h05}; + wire is_link_src = |{curr_instr[19-:5] == 5'h01, curr_instr[19-:5] == 5'h05}; + wire is_link_match = (is_link_src & is_link_dest) & (curr_instr[11-:5] == curr_instr[19-:5]); + wire is_call = (is_jal | is_jalr) & is_link_dest; + wire is_return = (is_jalr & is_link_src) & !is_link_match; + wire is_cbr = is_comp && |{(({3'b110, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01} ^ (curr_instr ^ curr_instr)) === (curr_instr ^ ({3'b110, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01} ^ {3'b110, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01}))) & ((((curr_instr ^ curr_instr) ^ ({3'b110, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01} ^ {3'b110, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01})) === ({3'b110, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01} ^ {3'b110, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01})) | 1'bx), (({3'b111, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01} ^ (curr_instr ^ curr_instr)) === (curr_instr ^ ({3'b111, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01} ^ {3'b111, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01}))) & ((((curr_instr ^ curr_instr) ^ ({3'b111, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01} ^ {3'b111, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01})) === ({3'b111, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01} ^ {3'b111, {3 {1'bz}}, {3 {1'bz}}, {5 {1'bz}}, 2'b01})) | 1'bx)}; + wire is_cj = is_comp && ((({3'b101, {11 {1'bz}}, 2'b01} ^ (curr_instr ^ curr_instr)) === (curr_instr ^ ({3'b101, {11 {1'bz}}, 2'b01} ^ {3'b101, {11 {1'bz}}, 2'b01}))) & ((((curr_instr ^ curr_instr) ^ ({3'b101, {11 {1'bz}}, 2'b01} ^ {3'b101, {11 {1'bz}}, 2'b01})) === ({3'b101, {11 {1'bz}}, 2'b01} ^ {3'b101, {11 {1'bz}}, 2'b01})) | 1'bx)); + wire is_cjr = is_comp && ((curr_instr | 16'b0000111110000000) == 16'b1000111110000010); + wire is_cjalr = is_comp && ((curr_instr | 16'b0000111110000000) == 16'b1001111110000010); + wire is_clink_dest = is_cjalr; + wire is_clink_src = |{curr_instr[11-:5] == 5'h01, curr_instr[11-:5] == 5'h05}; + wire is_clink_match = (is_clink_src & is_clink_dest) & {curr_instr[11-:5] == 5'h01}; + wire is_ccall = ((is_cj | is_cjr) | is_cjalr) & is_clink_dest; + wire is_creturn = ((is_cjr | is_cjalr) & is_clink_src) & !is_clink_match; + reg [vaddr_width_p - 1:0] imm; + always @(*) begin + if (_sv2v_0) + ; + if (is_br) + imm = {{52 {curr_instr[31]}}, curr_instr[7], curr_instr[30:25], curr_instr[11:8], 1'b0} + ((i - 1'b1) << 1'b1); + else if (is_jal) + imm = {{44 {curr_instr[31]}}, curr_instr[19:12], curr_instr[20], curr_instr[30:21], 1'b0} + ((i - 1'b1) << 1'b1); + else if (is_cj) + imm = {{53 {curr_instr[12]}}, curr_instr[8], curr_instr[10:9], curr_instr[6], curr_instr[7], curr_instr[2], curr_instr[11], curr_instr[5:3], 1'b0} + ((i - 1'b0) << 1'b1); + else + imm = {{53 {curr_instr[12]}}, curr_instr[6:5], curr_instr[2], curr_instr[11:10], curr_instr[4:3], 1'b0} + ((i - 1'b0) << 1'b1); + end + assign full1[i] = &curr_instr[0+:2] && !full1[i - 1]; + assign branch[i] = (((((is_br | is_jal) | is_jalr) | is_cbr) | is_cj) | is_cjr) | is_cjalr; + assign complete[i] = is_comp || is_full2; + assign decode_lo[(fetch_cinstr_p >= 0 ? i : fetch_cinstr_p - i) * 47+:47] = {is_br | is_cbr, is_jal | is_cj, (is_jalr | is_cjr) | is_cjalr, is_call | is_ccall, is_return | is_creturn, is_full1, is_full2, is_comp, sv2v_cast_39(imm)}; + end + endgenerate + wire any_complete; + wire [fetch_sel_p - 1:0] complete_addr; + wire [fetch_cinstr_p - 1:0] complete_vector = complete; + bsg_priority_encode #( + .width_p(fetch_cinstr_p), + .lo_to_hi_p(0) + ) complete_pe( + .i(complete_vector), + .addr_o(complete_addr), + .v_o(any_complete) + ); + wire [fetch_ptr_p - 1:0] linear_sel = (fetch_cinstr_p - 1'b1) - complete_addr; + wire [fetch_ptr_p - 1:0] linear_count = (any_complete ? linear_sel + 1'b1 : {fetch_ptr_p {1'sb0}}); + wire any_branch; + wire [fetch_sel_p - 1:0] branch_sel; + wire [fetch_cinstr_p - 1:0] branch_vector = branch; + bsg_priority_encode #( + .width_p(fetch_cinstr_p), + .lo_to_hi_p(1) + ) branch_sel_pe( + .i(branch_vector), + .addr_o(branch_sel), + .v_o(any_branch) + ); + wire [fetch_ptr_p - 1:0] branch_count = (any_branch ? branch_sel + 1'b1 : {fetch_sel_p {1'sb0}}); + wire any_last_branch; + wire [fetch_ptr_p - 1:0] last_branch_addr; + wire [fetch_cinstr_p:0] last_branch_vector = branch; + bsg_priority_encode #( + .width_p(fetch_cinstr_p + 1), + .lo_to_hi_p(0) + ) second_branch_pe( + .i(last_branch_vector), + .addr_o(last_branch_addr), + .v_o(any_last_branch) + ); + wire [fetch_ptr_p - 1:0] last_branch_sel = fetch_cinstr_p - last_branch_addr; + wire [fetch_ptr_p - 1:0] last_branch_count = (any_last_branch ? last_branch_sel + 1'b1 : {fetch_ptr_p {1'sb0}}); + wire double_branch = any_branch && (branch_sel != last_branch_sel); + wire [46:0] branch_decode_lo; + bsg_mux #( + .width_p(decode_width_lp), + .els_p(fetch_cinstr_p + 1) + ) branch_decode_mux( + .data_i(decode_lo), + .sel_i(branch_sel), + .data_o(branch_decode_lo) + ); + wire [46:0] next_decode_lo; + wire [fetch_ptr_p - 1:0] next_sel = (any_branch ? branch_sel + 1'b1 : linear_sel + 1'b1); + bsg_mux #( + .width_p(decode_width_lp), + .els_p(fetch_cinstr_p + 1) + ) next_decode_mux( + .data_i(decode_lo), + .sel_i(next_sel), + .data_o(next_decode_lo) + ); + wire [fetch_ptr_p - 1:0] next_count = (any_complete ? next_sel : 1'b1); + wire assembled_startup = (~any_branch & ~fetch_taken_i) & ({fetch_ptr_p {1'sb0}} == linear_count); + wire assembled_catchup = ((any_branch & ~fetch_taken_i) & (assembled_count_i > branch_count)) & ~double_branch; + wire assembled_rebase = ((any_branch & ~fetch_taken_i) & (assembled_count_i > branch_count)) & double_branch; + wire assembled_linear = ~any_branch & (assembled_count_i > linear_count); + always @(*) begin + if (_sv2v_0) + ; + fetch_scan_cast_o = 1'sb0; + fetch_scan_cast_o[116-:39] = (linear_count + 1'd1) << 3'b001; + fetch_scan_cast_o[77-:39] = (next_count + 1'd0) << 3'b001; + fetch_scan_cast_o[38-:39] = branch_decode_lo[38-:39]; + if (fetch_yumi_i) begin + fetch_scan_cast_o[121] = branch_decode_lo[46]; + fetch_scan_cast_o[120] = branch_decode_lo[45]; + fetch_scan_cast_o[119] = branch_decode_lo[44]; + fetch_scan_cast_o[118] = branch_decode_lo[43]; + fetch_scan_cast_o[117] = branch_decode_lo[42]; + end + end + assign fetch_v_o = assembled_v_i; + assign fetch_pc_o = assembled_pc_i; + assign fetch_instr_o = assembled_instr_i; + assign fetch_br_metadata_fwd_o = assembled_br_metadata_fwd_i; + assign fetch_partial_o = assembled_partial_i; + assign fetch_count_o = (any_branch ? branch_count : linear_count); + assign fetch_startup_o = fetch_yumi_i & assembled_startup; + assign fetch_catchup_o = fetch_yumi_i & assembled_catchup; + assign fetch_rebase_o = fetch_yumi_i & assembled_rebase; + assign fetch_linear_o = fetch_yumi_i & assembled_linear; + assign assembled_count_o = (any_branch ? (assembled_rebase | fetch_taken_i ? assembled_count_i : branch_count) : linear_count); + assign assembled_yumi_o = fetch_yumi_i; + initial _sv2v_0 = 0; +endmodule +module bp_fe_pc_gen ( + clk_i, + reset_i, + init_done_o, + attaboy_v_i, + attaboy_force_i, + attaboy_pc_i, + attaboy_br_metadata_fwd_i, + attaboy_taken_i, + attaboy_ntaken_i, + attaboy_yumi_o, + redirect_v_i, + redirect_pc_i, + redirect_npc_i, + redirect_br_v_i, + redirect_br_metadata_fwd_i, + redirect_br_taken_i, + redirect_br_ntaken_i, + redirect_br_nonbr_i, + next_pc_o, + icache_yumi_i, + ovr_o, + icache_tv_we_i, + icache_hit_v_i, + icache_miss_v_i, + icache_hit_yumi_o, + icache_data_i, + if2_hit_v_o, + if2_miss_v_o, + if2_pc_o, + if2_data_o, + if2_br_metadata_fwd_o, + if2_yumi_i, + fetch_yumi_i, + fetch_scan_i, + fetch_pc_i, + fetch_count_i, + fetch_startup_i, + fetch_catchup_i, + fetch_rebase_i, + fetch_linear_i, + fetch_taken_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam scan_width_lp = 125; + input clk_i; + input reset_i; + output wire init_done_o; + input attaboy_v_i; + input attaboy_force_i; + input [vaddr_width_p - 1:0] attaboy_pc_i; + input [branch_metadata_fwd_width_p - 1:0] attaboy_br_metadata_fwd_i; + input attaboy_taken_i; + input attaboy_ntaken_i; + output wire attaboy_yumi_o; + input redirect_v_i; + input [vaddr_width_p - 1:0] redirect_pc_i; + input [vaddr_width_p - 1:0] redirect_npc_i; + input redirect_br_v_i; + input [branch_metadata_fwd_width_p - 1:0] redirect_br_metadata_fwd_i; + input redirect_br_taken_i; + input redirect_br_ntaken_i; + input redirect_br_nonbr_i; + output wire [vaddr_width_p - 1:0] next_pc_o; + input icache_yumi_i; + output wire ovr_o; + input icache_tv_we_i; + input icache_hit_v_i; + input icache_miss_v_i; + output wire icache_hit_yumi_o; + input [icache_data_width_p - 1:0] icache_data_i; + output wire if2_hit_v_o; + output wire if2_miss_v_o; + output wire [vaddr_width_p - 1:0] if2_pc_o; + output wire [icache_data_width_p - 1:0] if2_data_o; + output wire [branch_metadata_fwd_width_p - 1:0] if2_br_metadata_fwd_o; + input if2_yumi_i; + input fetch_yumi_i; + input [124:0] fetch_scan_i; + input [vaddr_width_p - 1:0] fetch_pc_i; + input [fetch_ptr_p - 1:0] fetch_count_i; + input fetch_startup_i; + input fetch_catchup_i; + input fetch_rebase_i; + input fetch_linear_i; + output wire fetch_taken_o; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] redirect_br_metadata_fwd_cast_i; + assign redirect_br_metadata_fwd_cast_i = redirect_br_metadata_fwd_i; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] attaboy_br_metadata_fwd_cast_i; + assign attaboy_br_metadata_fwd_cast_i = attaboy_br_metadata_fwd_i; + wire [ghist_width_p - 1:0] ghistory_n; + wire [ghist_width_p - 1:0] ghistory_r; + reg [vaddr_width_p - 1:0] next_pc; + wire [bht_row_width_p - 1:0] bht_row_lo; + wire bht_pred_lo; + wire [vaddr_width_p - 1:0] btb_br_tgt_lo; + wire btb_br_tgt_v_lo; + wire btb_br_tgt_jmp_lo; + reg [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] next_metadata; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] ovr_metadata; + reg next_pred; + reg next_taken; + wire ovr_ret; + wire ovr_btaken; + wire ovr_jmp; + wire ovr_rebase; + wire ovr_linear; + wire btb_taken; + wire [vaddr_width_p - 1:0] pc_plus; + wire [vaddr_width_p - 1:0] ras_tgt_lo; + wire [vaddr_width_p - 1:0] taken_tgt_lo; + wire [vaddr_width_p - 1:0] ntaken_tgt_lo; + wire [vaddr_width_p - 1:0] linear_tgt_lo; + wire [ras_idx_width_p - 1:0] ras_next; + wire [ras_idx_width_p - 1:0] ras_tos; + wire [btb_tag_width_p - 1:0] btb_tag; + wire [btb_idx_width_p - 1:0] btb_idx; + wire [bht_idx_width_p - 1:0] bht_idx; + wire [bht_offset_width_p - 1:0] bht_offset; + always @(*) begin + if (_sv2v_0) + ; + if (redirect_v_i) begin + next_pred = 1'b0; + next_taken = redirect_br_taken_i; + next_pc = redirect_npc_i; + next_metadata = redirect_br_metadata_fwd_cast_i; + end + else if (ovr_o) begin + next_pred = ovr_btaken; + next_taken = (ovr_ret | ovr_btaken) | ovr_jmp; + next_pc = (ovr_ret ? ras_tgt_lo : (ovr_btaken | ovr_jmp ? taken_tgt_lo : (ovr_rebase ? ntaken_tgt_lo : linear_tgt_lo))); + next_metadata = ovr_metadata; + next_metadata[2 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] = ovr_ret; + end + else begin + next_pred = bht_pred_lo; + next_taken = btb_taken; + next_pc = (btb_taken ? btb_br_tgt_lo : pc_plus); + next_metadata = 1'sb0; + next_metadata[1 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] = btb_br_tgt_v_lo; + next_metadata[(2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))-:(((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))) >= (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)) ? (((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))) - (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))) + 1 : ((((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)) - ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))) + 1)] = bht_row_lo; + next_metadata[ghist_width_p - 1-:ghist_width_p] = ghistory_r; + next_metadata[btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))-:((btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))) >= (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))) ? ((btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))) - (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))))) + 1 : ((btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))) - (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))) + 1)] = btb_tag; + next_metadata[btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))-:((btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))) >= (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))) ? ((btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))) - (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))) + 1 : ((bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))) - (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))) + 1)] = btb_idx; + next_metadata[bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))-:((bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))) >= ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))) ? ((bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))) - ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))) + 1 : (((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))) - (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))) + 1)] = bht_idx; + next_metadata[((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)-:((((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)) >= (ghist_width_p + 0) ? ((((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)) - (ghist_width_p + 0)) + 1 : ((ghist_width_p + 0) - (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))) + 1)] = bht_offset; + end + end + assign next_pc_o = next_pc; + wire btb_w_yumi_lo; + wire btb_init_done_lo; + wire btb_r_v_li = icache_yumi_i; + wire btb_w_v_li = ((((((redirect_br_v_i & redirect_br_taken_i) & ~redirect_br_metadata_fwd_cast_i[1 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]) & ~redirect_br_metadata_fwd_cast_i[2 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]) | (((redirect_br_v_i & redirect_br_taken_i) & redirect_br_metadata_fwd_cast_i[1 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]) & ~redirect_br_metadata_fwd_cast_i[2 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))])) | (((attaboy_v_i & attaboy_taken_i) & ~attaboy_br_metadata_fwd_cast_i[1 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]) & ~attaboy_br_metadata_fwd_cast_i[2 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))])) | (((redirect_br_v_i & redirect_br_taken_i) & redirect_br_metadata_fwd_cast_i[1 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]) & redirect_br_metadata_fwd_cast_i[2 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))])) | ((redirect_br_v_i & redirect_br_nonbr_i) & redirect_br_metadata_fwd_cast_i[1 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]); + wire btb_w_force_li = redirect_br_v_i | attaboy_force_i; + wire btb_clr_li = (((redirect_br_v_i & redirect_br_taken_i) & redirect_br_metadata_fwd_cast_i[1 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]) & redirect_br_metadata_fwd_cast_i[2 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]) | ((redirect_br_v_i & redirect_br_nonbr_i) & redirect_br_metadata_fwd_cast_i[1 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]); + wire btb_jmp_li = (redirect_br_v_i ? redirect_br_metadata_fwd_cast_i[6 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] | redirect_br_metadata_fwd_cast_i[5 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] : attaboy_br_metadata_fwd_cast_i[6 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] | attaboy_br_metadata_fwd_cast_i[5 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]); + wire [btb_tag_width_p - 1:0] btb_tag_li = (redirect_br_v_i ? redirect_br_metadata_fwd_cast_i[btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))-:((btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))) >= (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))) ? ((btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))) - (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))))) + 1 : ((btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))) - (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))) + 1)] : attaboy_br_metadata_fwd_cast_i[btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))-:((btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))) >= (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))) ? ((btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))) - (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))))) + 1 : ((btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))) - (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))) + 1)]); + wire [btb_idx_width_p - 1:0] btb_idx_li = (redirect_br_v_i ? redirect_br_metadata_fwd_cast_i[btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))-:((btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))) >= (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))) ? ((btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))) - (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))) + 1 : ((bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))) - (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))) + 1)] : attaboy_br_metadata_fwd_cast_i[btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))-:((btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))) >= (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))) ? ((btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))) - (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))) + 1 : ((bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))) - (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))) + 1)]); + wire [vaddr_width_p - 1:0] btb_tgt_li = (redirect_br_v_i ? redirect_pc_i : attaboy_pc_i); + wire [vaddr_width_p - 1:0] btb_r_addr_li = next_pc; + bp_fe_btb #(.bp_params_p(bp_params_p)) btb( + .clk_i(clk_i), + .reset_i(reset_i), + .r_addr_i(btb_r_addr_li), + .r_v_i(btb_r_v_li), + .r_idx_o(btb_idx), + .r_tag_o(btb_tag), + .r_tgt_o(btb_br_tgt_lo), + .r_tgt_v_o(btb_br_tgt_v_lo), + .r_tgt_jmp_o(btb_br_tgt_jmp_lo), + .w_v_i(btb_w_v_li), + .w_force_i(btb_w_force_li), + .w_clr_i(btb_clr_li), + .w_jmp_i(btb_jmp_li), + .w_tag_i(btb_tag_li), + .w_idx_i(btb_idx_li), + .w_tgt_i(btb_tgt_li), + .w_yumi_o(btb_w_yumi_lo), + .init_done_o(btb_init_done_lo) + ); + wire bht_r_v_li = icache_yumi_i; + wire [vaddr_width_p - 1:0] bht_r_addr_li = next_pc; + wire [ghist_width_p - 1:0] bht_r_ghist_li = ghistory_n; + wire bht_w_v_li = (redirect_br_v_i & redirect_br_metadata_fwd_cast_i[7 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]) | (attaboy_v_i & attaboy_br_metadata_fwd_cast_i[7 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))]); + wire bht_w_force_li = redirect_br_v_i | attaboy_force_i; + wire [bht_idx_width_p - 1:0] bht_w_idx_li = (redirect_br_v_i ? redirect_br_metadata_fwd_cast_i[bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))-:((bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))) >= ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))) ? ((bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))) - ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))) + 1 : (((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))) - (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))) + 1)] : attaboy_br_metadata_fwd_cast_i[bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))-:((bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))) >= ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))) ? ((bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))) - ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))) + 1 : (((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))) - (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))) + 1)]); + wire [bht_offset_width_p - 1:0] bht_w_offset_li = (redirect_br_v_i ? redirect_br_metadata_fwd_cast_i[((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)-:((((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)) >= (ghist_width_p + 0) ? ((((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)) - (ghist_width_p + 0)) + 1 : ((ghist_width_p + 0) - (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))) + 1)] : attaboy_br_metadata_fwd_cast_i[((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)-:((((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)) >= (ghist_width_p + 0) ? ((((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)) - (ghist_width_p + 0)) + 1 : ((ghist_width_p + 0) - (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))) + 1)]); + wire [ghist_width_p - 1:0] bht_w_ghist_li = (redirect_br_v_i ? redirect_br_metadata_fwd_cast_i[ghist_width_p - 1-:ghist_width_p] : attaboy_br_metadata_fwd_cast_i[ghist_width_p - 1-:ghist_width_p]); + wire [bht_row_width_p - 1:0] bht_row_li = (redirect_br_v_i ? redirect_br_metadata_fwd_cast_i[(2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))-:(((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))) >= (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)) ? (((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))) - (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))) + 1 : ((((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)) - ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))) + 1)] : attaboy_br_metadata_fwd_cast_i[(2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))-:(((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))) >= (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)) ? (((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))) - (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))) + 1 : ((((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)) - ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))) + 1)]); + wire bht_w_yumi_lo; + wire bht_init_done_lo; + bp_fe_bht #(.bp_params_p(bp_params_p)) bht( + .clk_i(clk_i), + .reset_i(reset_i), + .r_v_i(bht_r_v_li), + .r_addr_i(bht_r_addr_li), + .r_ghist_i(bht_r_ghist_li), + .r_val_o(bht_row_lo), + .r_pred_o(bht_pred_lo), + .r_idx_o(bht_idx), + .r_offset_o(bht_offset), + .w_v_i(bht_w_v_li), + .w_force_i(bht_w_force_li), + .w_idx_i(bht_w_idx_li), + .w_offset_i(bht_w_offset_li), + .w_ghist_i(bht_w_ghist_li), + .w_correct_i(attaboy_yumi_o), + .w_val_i(bht_row_li), + .w_yumi_o(bht_w_yumi_lo), + .init_done_o(bht_init_done_lo) + ); + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] metadata_if1_r; + wire pred_if1_r; + wire taken_if1_r; + wire [vaddr_width_p - 1:0] pc_if1; + wire [vaddr_width_p - 1:0] pc_if1_r; + wire [vaddr_width_p - 1:0] pc_if1_aligned; + bsg_dff_reset_en #(.width_p((2 + branch_metadata_fwd_width_p) + vaddr_width_p)) if1_stage_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(icache_yumi_i), + .data_i({next_pred, next_taken, next_metadata, next_pc}), + .data_o({pred_if1_r, taken_if1_r, metadata_if1_r, pc_if1_r}) + ); + wire [124:0] fetch_scan; + assign fetch_scan = fetch_scan_i; + reg [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] metadata_if1; + always @(*) begin + if (_sv2v_0) + ; + metadata_if1 = metadata_if1_r; + if (fetch_yumi_i) begin + metadata_if1[7 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] = fetch_scan[121]; + metadata_if1[6 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] = fetch_scan[120]; + metadata_if1[5 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] = fetch_scan[119]; + metadata_if1[4 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] = fetch_scan[118]; + metadata_if1[3 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] = fetch_scan[117]; + end + end + assign ovr_metadata = metadata_if1; + localparam icache_bytes_lp = icache_data_width_p >> 3; + assign pc_if1_aligned = (pc_if1_r >> $clog2(icache_bytes_lp)) << $clog2(icache_bytes_lp); + assign pc_if1 = (fetch_catchup_i ? ntaken_tgt_lo : pc_if1_r); + assign btb_taken = btb_br_tgt_v_lo & (bht_pred_lo | btb_br_tgt_jmp_lo); + assign pc_plus = pc_if1_aligned + icache_bytes_lp; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] metadata_if2_n; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] metadata_if2_r; + reg [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] metadata_if2; + wire pred_if2_r; + wire taken_if2_r; + wire [vaddr_width_p - 1:0] pc_if2; + wire [vaddr_width_p - 1:0] pc_if2_r; + wire [vaddr_width_p - 1:0] pc_if2_aligned; + assign metadata_if2_n = (fetch_startup_i ? metadata_if2 : metadata_if1); + bsg_dff_reset_en #(.width_p((2 + vaddr_width_p) + branch_metadata_fwd_width_p)) if2_stage_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(icache_tv_we_i | fetch_catchup_i), + .data_i({pred_if1_r, taken_if1_r, pc_if1, metadata_if2_n}), + .data_o({pred_if2_r, taken_if2_r, pc_if2_r, metadata_if2_r}) + ); + always @(*) begin + if (_sv2v_0) + ; + metadata_if2 = metadata_if2_r; + metadata_if2[ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))))-:((ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))))) >= (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))))) ? ((ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))))) - (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))))))) + 1 : ((ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))))) - (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))) + 1)] = ras_next; + metadata_if2[ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))-:((ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))) >= (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))))) ? ((ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))) - (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))))) + 1 : ((btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))))) - (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))))) + 1)] = ras_tos; + end + assign pc_if2 = pc_if2_r; + assign pc_if2_aligned = (pc_if2 >> $clog2(icache_bytes_lp)) << $clog2(icache_bytes_lp); + assign if2_hit_v_o = icache_hit_v_i; + assign if2_miss_v_o = icache_miss_v_i; + assign if2_pc_o = pc_if2_r; + assign if2_data_o = icache_data_i; + assign if2_br_metadata_fwd_o = metadata_if2; + assign icache_hit_yumi_o = icache_hit_v_i & if2_yumi_i; + wire ras_init_done_lo; + wire ras_valid_lo; + wire ras_call_li; + wire ras_return_li; + wire [vaddr_width_p - 1:0] ras_addr_li; + wire ras_w_v_li = redirect_br_v_i; + wire [ras_idx_width_p - 1:0] ras_w_next_li = redirect_br_metadata_fwd_cast_i[ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))))-:((ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))))) >= (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))))) ? ((ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))))) - (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))))))) + 1 : ((ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))))) - (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))) + 1)]; + wire [ras_idx_width_p - 1:0] ras_w_tos_li = redirect_br_metadata_fwd_cast_i[ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))-:((ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))) >= (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))))) ? ((ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))) - (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0))))))) + 1 : ((btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p + 0)))))) - (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1)))))))) + 1)]; + bp_fe_ras #(.bp_params_p(bp_params_p)) ras( + .clk_i(clk_i), + .reset_i(reset_i), + .init_done_o(ras_init_done_lo), + .restore_i(ras_w_v_li), + .w_next_i(ras_w_next_li), + .w_tos_i(ras_w_tos_li), + .call_i(ras_call_li), + .addr_i(ras_addr_li), + .v_o(ras_valid_lo), + .tgt_o(ras_tgt_lo), + .next_o(ras_next), + .tos_o(ras_tos), + .return_i(ras_return_li) + ); + assign linear_tgt_lo = fetch_pc_i + fetch_scan[116-:39]; + assign ntaken_tgt_lo = fetch_pc_i + fetch_scan[77-:39]; + assign taken_tgt_lo = fetch_pc_i + fetch_scan[38-:39]; + assign ras_call_li = fetch_yumi_i & fetch_scan[118]; + assign ras_return_li = fetch_yumi_i & fetch_scan[117]; + assign ras_addr_li = ntaken_tgt_lo; + wire btb_miss_ras = pc_if1_r != ras_tgt_lo; + wire btb_miss_br = pc_if1_r != taken_tgt_lo; + wire rebase_miss = !taken_if1_r; + wire linear_miss = taken_if1_r; + assign ovr_ret = (btb_miss_ras & fetch_scan[117]) & ras_valid_lo; + assign ovr_btaken = (btb_miss_br & fetch_scan[121]) & pred_if1_r; + assign ovr_jmp = btb_miss_br & fetch_scan[120]; + assign ovr_linear = linear_miss & fetch_linear_i; + assign ovr_rebase = rebase_miss & fetch_rebase_i; + assign ovr_o = (((ovr_btaken | ovr_jmp) | ovr_ret) | ovr_linear) | ovr_rebase; + assign fetch_taken_o = ((taken_if1_r | ovr_ret) | ovr_btaken) | ovr_jmp; + assign attaboy_yumi_o = (attaboy_v_i & ~(bht_w_v_li & ~bht_w_yumi_lo)) & ~(btb_w_v_li & ~btb_w_yumi_lo); + assign init_done_o = (bht_init_done_lo & btb_init_done_lo) & ras_init_done_lo; + assign ghistory_n = (redirect_br_v_i ? redirect_br_metadata_fwd_cast_i[ghist_width_p - 1-:ghist_width_p] : (metadata_if1[7 + (ras_idx_width_p + (ras_idx_width_p + (btb_tag_width_p + (btb_idx_width_p + (bht_idx_width_p + ((2 * bht_row_els_p) + (((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)) + (ghist_width_p - 1))))))))] & ~ovr_o ? {ghistory_r[0+:ghist_width_p - 1], taken_if1_r} : ghistory_r)); + wire ghistory_w_v = redirect_br_v_i | icache_tv_we_i; + bsg_dff_reset_en #(.width_p(ghist_width_p)) ghist_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(ghistory_w_v), + .data_i(ghistory_n), + .data_o(ghistory_r) + ); + initial _sv2v_0 = 0; +endmodule +module bp_fe_realigner ( + clk_i, + reset_i, + if2_hit_v_i, + if2_miss_v_i, + if2_pc_i, + if2_data_i, + if2_br_metadata_fwd_i, + if2_yumi_o, + redirect_v_i, + redirect_pc_i, + redirect_instr_i, + redirect_br_metadata_fwd_i, + redirect_resume_i, + assembled_v_o, + assembled_pc_o, + assembled_instr_o, + assembled_br_metadata_fwd_o, + assembled_count_o, + assembled_partial_o, + assembled_count_i, + assembled_yumi_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam icache_cinstr_lp = icache_data_width_p / bp_common_pkg_cinstr_width_gp; + localparam icache_sel_lp = ((icache_cinstr_lp == 1) || (icache_cinstr_lp == 0) ? 1 : $clog2(icache_cinstr_lp)); + localparam scan_width_lp = 125; + input clk_i; + input reset_i; + input if2_hit_v_i; + input if2_miss_v_i; + input [vaddr_width_p - 1:0] if2_pc_i; + input [(icache_cinstr_lp * 16) - 1:0] if2_data_i; + input [branch_metadata_fwd_width_p - 1:0] if2_br_metadata_fwd_i; + output wire if2_yumi_o; + input redirect_v_i; + input [vaddr_width_p - 1:0] redirect_pc_i; + input [15:0] redirect_instr_i; + input [branch_metadata_fwd_width_p - 1:0] redirect_br_metadata_fwd_i; + input redirect_resume_i; + output wire assembled_v_o; + output wire [vaddr_width_p - 1:0] assembled_pc_o; + output wire [(fetch_cinstr_p * 16) - 1:0] assembled_instr_o; + output wire [branch_metadata_fwd_width_p - 1:0] assembled_br_metadata_fwd_o; + output wire [fetch_ptr_p - 1:0] assembled_count_o; + output wire assembled_partial_o; + input [fetch_ptr_p - 1:0] assembled_count_i; + input assembled_yumi_i; + wire partial_w_v; + wire partial_v_n; + wire partial_v_r; + wire [vaddr_width_p - 1:0] partial_pc_n; + wire [vaddr_width_p - 1:0] partial_pc_r; + wire [15:0] partial_instr_n; + wire [15:0] partial_instr_r; + wire [icache_sel_lp - 1:0] if2_pc_sel = if2_pc_i[1+:icache_sel_lp]; + wire [fetch_width_p - 1:0] if2_shift = if2_pc_sel << 3'd4; + wire [fetch_width_p - 1:0] if2_instr = if2_data_i >> if2_shift; + wire [fetch_ptr_p - 1:0] if2_count = (if2_hit_v_i ? icache_cinstr_lp - if2_pc_sel : 1'b0); + bsg_dff_reset_en #(.width_p((bp_common_pkg_cinstr_width_gp + vaddr_width_p) + 1)) partial_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(partial_w_v), + .data_i({partial_instr_n, partial_pc_n, partial_v_n}), + .data_o({partial_instr_r, partial_pc_r, partial_v_r}) + ); + wire [vaddr_width_p - 1:0] realigned_pc = partial_pc_r; + wire [(fetch_cinstr_p >= 0 ? ((fetch_cinstr_p + 1) * 16) - 1 : ((1 - fetch_cinstr_p) * 16) + ((fetch_cinstr_p * 16) - 1)):(fetch_cinstr_p >= 0 ? 0 : fetch_cinstr_p * 16)] realigned_instr = {if2_data_i, partial_instr_r}; + wire [fetch_ptr_p - 1:0] realigned_count = (if2_hit_v_i ? fetch_cinstr_p : 1'b1); + wire partial_store = (assembled_count_o - assembled_count_i) == 2'd1; + wire partial_drain = (assembled_count_o - assembled_count_i) > 2'd1; + assign partial_w_v = (redirect_v_i | assembled_yumi_i) | if2_yumi_o; + assign partial_v_n = (redirect_v_i ? redirect_resume_i : (assembled_yumi_i ? partial_store : partial_v_r)); + assign partial_pc_n = (redirect_v_i ? redirect_pc_i : (assembled_yumi_i ? assembled_pc_o + (assembled_count_i << 1'b1) : if2_pc_i)); + assign partial_instr_n = (redirect_v_i ? redirect_instr_i : (assembled_yumi_i ? if2_data_i[(icache_cinstr_lp - 1) * 16+:16] : if2_data_i[(icache_cinstr_lp - 1) * 16+:16])); + assign assembled_pc_o = (partial_v_r ? realigned_pc : if2_pc_i); + assign assembled_instr_o = (partial_v_r ? realigned_instr : if2_instr); + assign assembled_br_metadata_fwd_o = if2_br_metadata_fwd_i; + assign assembled_count_o = (partial_v_r ? realigned_count : if2_count); + assign assembled_partial_o = partial_v_r; + assign assembled_v_o = if2_hit_v_i | if2_miss_v_i; + assign if2_yumi_o = (if2_hit_v_i & ~partial_drain) & assembled_yumi_i; +endmodule +module bp_fe_top ( + clk_i, + reset_i, + cfg_bus_i, + fe_cmd_i, + fe_cmd_v_i, + fe_cmd_yumi_o, + fe_queue_o, + fe_queue_v_o, + fe_queue_ready_and_i, + cache_req_o, + cache_req_v_o, + cache_req_yumi_i, + cache_req_lock_i, + cache_req_metadata_o, + cache_req_metadata_v_o, + cache_req_id_i, + cache_req_critical_i, + cache_req_last_i, + cache_req_credits_full_i, + cache_req_credits_empty_i, + data_mem_pkt_i, + data_mem_pkt_v_i, + data_mem_pkt_yumi_o, + data_mem_o, + tag_mem_pkt_i, + tag_mem_pkt_v_i, + tag_mem_pkt_yumi_o, + tag_mem_o, + stat_mem_pkt_i, + stat_mem_pkt_v_i, + stat_mem_pkt_yumi_o, + stat_mem_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam icache_req_width_lp = ((((icache_req_id_width_p + 1) + icache_data_width_p) + 3) + paddr_width_p) + 8; + localparam icache_req_metadata_width_lp = ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p)) + 1; + localparam icache_data_mem_pkt_width_lp = (((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + icache_fill_width_p) + (icache_block_width_p / icache_fill_width_p)) + 2; + localparam icache_tag_mem_pkt_width_lp = (((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 3) + icache_tag_width_p) + 3; + localparam icache_tag_info_width_lp = 3 + icache_tag_width_p; + localparam icache_stat_mem_pkt_width_lp = (((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 2; + localparam icache_stat_info_width_lp = (2 > ((2 * icache_assoc_p) - 1) ? 2 : (2 * icache_assoc_p) - 1); + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input [fe_cmd_width_lp - 1:0] fe_cmd_i; + input fe_cmd_v_i; + output wire fe_cmd_yumi_o; + output wire [fe_queue_width_lp - 1:0] fe_queue_o; + output wire fe_queue_v_o; + input fe_queue_ready_and_i; + output wire [icache_req_width_lp - 1:0] cache_req_o; + output wire cache_req_v_o; + input cache_req_yumi_i; + input cache_req_lock_i; + output wire [icache_req_metadata_width_lp - 1:0] cache_req_metadata_o; + output wire cache_req_metadata_v_o; + input [icache_req_id_width_p - 1:0] cache_req_id_i; + input cache_req_critical_i; + input cache_req_last_i; + input cache_req_credits_full_i; + input cache_req_credits_empty_i; + input [icache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_i; + input data_mem_pkt_v_i; + output wire data_mem_pkt_yumi_o; + output wire [icache_block_width_p - 1:0] data_mem_o; + input [icache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_i; + input tag_mem_pkt_v_i; + output wire tag_mem_pkt_yumi_o; + output wire [icache_tag_info_width_lp - 1:0] tag_mem_o; + input [icache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_i; + input stat_mem_pkt_v_i; + output wire stat_mem_pkt_yumi_o; + output wire [icache_stat_info_width_lp - 1:0] stat_mem_o; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + localparam bp_common_pkg_rv64_priv_width_gp = 2; + wire [1:0] shadow_priv_n; + wire [1:0] shadow_priv_r; + wire shadow_priv_w; + bsg_dff_reset_en_bypass #(.width_p(bp_common_pkg_rv64_priv_width_gp)) shadow_priv_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(shadow_priv_w), + .data_i(shadow_priv_n), + .data_o(shadow_priv_r) + ); + wire shadow_translation_en_n; + wire shadow_translation_en_r; + wire shadow_translation_en_w; + bsg_dff_reset_en_bypass #(.width_p(1)) shadow_translation_en_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(shadow_translation_en_w), + .data_i(shadow_translation_en_n), + .data_o(shadow_translation_en_r) + ); + wire attaboy_v_li; + wire attaboy_force_li; + wire attaboy_yumi_lo; + wire attaboy_taken_li; + wire attaboy_ntaken_li; + wire [vaddr_width_p - 1:0] attaboy_pc_li; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] attaboy_br_metadata_fwd_li; + wire redirect_v_li; + wire redirect_br_v_li; + wire redirect_br_taken_li; + wire redirect_br_ntaken_li; + wire redirect_br_nonbr_li; + wire [vaddr_width_p - 1:0] redirect_pc_li; + wire [vaddr_width_p - 1:0] redirect_npc_li; + wire [15:0] redirect_instr_li; + wire redirect_resume_li; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] redirect_br_metadata_fwd_li; + wire pc_gen_init_done_lo; + wire [vaddr_width_p - 1:0] next_pc_lo; + wire ovr_lo; + wire if2_hit_v_lo; + wire if2_miss_v_lo; + wire if2_yumi_li; + wire [vaddr_width_p - 1:0] if2_pc_lo; + wire [icache_data_width_p - 1:0] if2_data_lo; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] if2_br_metadata_fwd_lo; + wire [vaddr_width_p + 32:0] icache_pkt_li; + wire [icache_data_width_p - 1:0] icache_data_lo; + wire icache_v_li; + wire icache_force_li; + wire icache_yumi_lo; + wire tl_flush_lo; + wire icache_tv_we; + wire icache_hit_v_lo; + wire icache_miss_v_lo; + wire icache_fence_v_lo; + wire icache_hit_yumi_li; + wire icache_yumi_li; + wire fetch_v_lo; + wire fetch_yumi_li; + wire [vaddr_width_p - 1:0] fetch_pc_lo; + wire [fetch_width_p - 1:0] fetch_instr_lo; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] fetch_br_metadata_fwd_lo; + wire [124:0] fetch_scan_lo; + wire fetch_partial_lo; + wire fetch_taken_li; + wire [fetch_ptr_p - 1:0] fetch_count_lo; + wire fetch_startup_lo; + wire fetch_catchup_lo; + wire fetch_rebase_lo; + wire fetch_linear_lo; + bp_fe_pc_gen #(.bp_params_p(bp_params_p)) pc_gen( + .clk_i(clk_i), + .reset_i(reset_i), + .init_done_o(pc_gen_init_done_lo), + .attaboy_v_i(attaboy_v_li), + .attaboy_force_i(attaboy_force_li), + .attaboy_pc_i(attaboy_pc_li), + .attaboy_br_metadata_fwd_i(attaboy_br_metadata_fwd_li), + .attaboy_taken_i(attaboy_taken_li), + .attaboy_ntaken_i(attaboy_ntaken_li), + .attaboy_yumi_o(attaboy_yumi_lo), + .redirect_v_i(redirect_v_li), + .redirect_pc_i(redirect_pc_li), + .redirect_npc_i(redirect_npc_li), + .redirect_br_v_i(redirect_br_v_li), + .redirect_br_metadata_fwd_i(redirect_br_metadata_fwd_li), + .redirect_br_taken_i(redirect_br_taken_li), + .redirect_br_ntaken_i(redirect_br_ntaken_li), + .redirect_br_nonbr_i(redirect_br_nonbr_li), + .next_pc_o(next_pc_lo), + .icache_yumi_i(icache_yumi_lo), + .ovr_o(ovr_lo), + .icache_tv_we_i(icache_tv_we), + .icache_hit_v_i(icache_hit_v_lo), + .icache_miss_v_i(icache_miss_v_lo), + .icache_data_i(icache_data_lo), + .icache_hit_yumi_o(icache_hit_yumi_li), + .if2_hit_v_o(if2_hit_v_lo), + .if2_miss_v_o(if2_miss_v_lo), + .if2_pc_o(if2_pc_lo), + .if2_data_o(if2_data_lo), + .if2_br_metadata_fwd_o(if2_br_metadata_fwd_lo), + .if2_yumi_i(if2_yumi_li), + .fetch_pc_i(fetch_pc_lo), + .fetch_count_i(fetch_count_lo), + .fetch_scan_i(fetch_scan_lo), + .fetch_startup_i(fetch_startup_lo), + .fetch_catchup_i(fetch_catchup_lo), + .fetch_rebase_i(fetch_rebase_lo), + .fetch_linear_i(fetch_linear_lo), + .fetch_yumi_i(fetch_yumi_li), + .fetch_taken_o(fetch_taken_li) + ); + wire itlb_r_v_li; + wire [63:0] r_eaddr_li = {{((bp_common_pkg_dword_width_gp - vaddr_width_p) > 0 ? bp_common_pkg_dword_width_gp - vaddr_width_p : 0) {next_pc_lo[vaddr_width_p - 1]}}, next_pc_lo[0+:(bp_common_pkg_dword_width_gp < vaddr_width_p ? bp_common_pkg_dword_width_gp : vaddr_width_p)]}; + wire [1:0] r_size_li = 2'b10; + wire itlb_w_v_li; + wire itlb_fence_v_li; + wire [vtag_width_p - 1:0] itlb_w_vtag_li; + wire [(paddr_width_p - bp_common_pkg_page_offset_width_gp) + 7:0] itlb_w_tlb_entry_li; + wire instr_access_fault_lo; + wire instr_page_fault_lo; + wire ptag_v_lo; + wire ptag_uncached_lo; + wire ptag_nonidem_lo; + wire ptag_dram_lo; + wire ptag_miss_lo; + wire [ptag_width_p - 1:0] ptag_lo; + wire tv_flush_lo; + wire uncached_mode = cfg_bus_cast_i[2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))-:((2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) >= (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) ? ((2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) - (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))) + 1 : ((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) - (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))) + 1)] == 2'd0; + wire nonspec_mode = cfg_bus_cast_i[2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))-:((2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) >= (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) ? ((2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) - (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))) + 1 : ((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) - (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))) + 1)] == 2'd2; + localparam [0:0] sv2v_uu_immu_ext_sum_i_0 = 1'sb0; + localparam [0:0] sv2v_uu_immu_ext_mxr_i_0 = 1'sb0; + localparam [0:0] sv2v_uu_immu_ext_r_load_i_0 = 1'sb0; + localparam [0:0] sv2v_uu_immu_ext_r_store_i_0 = 1'sb0; + localparam [0:0] sv2v_uu_immu_ext_r_cbo_i_0 = 1'sb0; + localparam [0:0] sv2v_uu_immu_ext_r_ptw_i_0 = 1'sb0; + bp_mmu #( + .bp_params_p(bp_params_p), + .tlb_els_4k_p(itlb_els_4k_p), + .tlb_els_2m_p(itlb_els_2m_p), + .tlb_els_1g_p(itlb_els_1g_p), + .latch_last_read_p(1) + ) immu( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .flush_i(tv_flush_lo), + .fence_i(itlb_fence_v_li), + .priv_mode_i(shadow_priv_r), + .trans_en_i(shadow_translation_en_r), + .sum_i(sv2v_uu_immu_ext_sum_i_0), + .mxr_i(sv2v_uu_immu_ext_mxr_i_0), + .uncached_mode_i(uncached_mode), + .nonspec_mode_i(nonspec_mode), + .hio_mask_i(cfg_bus_cast_i[hio_width_p + (did_width_p - 1)-:((hio_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((hio_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (hio_width_p + (did_width_p - 1))) + 1)]), + .w_v_i(itlb_w_v_li), + .w_vtag_i(itlb_w_vtag_li), + .w_entry_i(itlb_w_tlb_entry_li), + .r_v_i(itlb_r_v_li), + .r_instr_i(1'b1), + .r_load_i(sv2v_uu_immu_ext_r_load_i_0), + .r_store_i(sv2v_uu_immu_ext_r_store_i_0), + .r_cbo_i(sv2v_uu_immu_ext_r_cbo_i_0), + .r_ptw_i(sv2v_uu_immu_ext_r_ptw_i_0), + .r_eaddr_i(r_eaddr_li), + .r_size_i(r_size_li), + .r_v_o(ptag_v_lo), + .r_ptag_o(ptag_lo), + .r_instr_miss_o(ptag_miss_lo), + .r_load_miss_o(), + .r_store_miss_o(), + .r_uncached_o(ptag_uncached_lo), + .r_nonidem_o(ptag_nonidem_lo), + .r_dram_o(ptag_dram_lo), + .r_instr_misaligned_o(), + .r_load_misaligned_o(), + .r_store_misaligned_o(), + .r_instr_access_fault_o(instr_access_fault_lo), + .r_load_access_fault_o(), + .r_store_access_fault_o(), + .r_instr_page_fault_o(instr_page_fault_lo), + .r_load_page_fault_o(), + .r_store_page_fault_o() + ); + bp_fe_icache #(.bp_params_p(bp_params_p)) icache( + .clk_i(clk_i), + .reset_i(reset_i), + .icache_pkt_i(icache_pkt_li), + .v_i(icache_v_li), + .force_i(icache_force_li), + .yumi_o(icache_yumi_lo), + .tl_flush_i(tl_flush_lo), + .ptag_i(ptag_lo), + .ptag_v_i(ptag_v_lo), + .ptag_uncached_i(ptag_uncached_lo), + .ptag_nonidem_i(ptag_nonidem_lo), + .ptag_dram_i(ptag_dram_lo), + .tv_flush_i(tv_flush_lo), + .tv_we_o(icache_tv_we), + .data_o(icache_data_lo), + .hit_v_o(icache_hit_v_lo), + .miss_v_o(icache_miss_v_lo), + .fence_v_o(icache_fence_v_lo), + .yumi_i(icache_yumi_li), + .cache_req_o(cache_req_o), + .cache_req_v_o(cache_req_v_o), + .cache_req_yumi_i(cache_req_yumi_i), + .cache_req_lock_i(cache_req_lock_i), + .cache_req_metadata_o(cache_req_metadata_o), + .cache_req_metadata_v_o(cache_req_metadata_v_o), + .cache_req_id_i(cache_req_id_i), + .cache_req_critical_i(cache_req_critical_i), + .cache_req_last_i(cache_req_last_i), + .cache_req_credits_full_i(cache_req_credits_full_i), + .cache_req_credits_empty_i(cache_req_credits_empty_i), + .data_mem_pkt_i(data_mem_pkt_i), + .data_mem_pkt_v_i(data_mem_pkt_v_i), + .data_mem_pkt_yumi_o(data_mem_pkt_yumi_o), + .data_mem_o(data_mem_o), + .tag_mem_pkt_i(tag_mem_pkt_i), + .tag_mem_pkt_v_i(tag_mem_pkt_v_i), + .tag_mem_pkt_yumi_o(tag_mem_pkt_yumi_o), + .tag_mem_o(tag_mem_o), + .stat_mem_pkt_v_i(stat_mem_pkt_v_i), + .stat_mem_pkt_i(stat_mem_pkt_i), + .stat_mem_pkt_yumi_o(stat_mem_pkt_yumi_o), + .stat_mem_o(stat_mem_o) + ); + assign icache_yumi_li = icache_hit_yumi_li || icache_fence_v_lo; + wire assembled_v_lo; + wire assembled_yumi_li; + wire [vaddr_width_p - 1:0] assembled_pc_lo; + wire [(fetch_cinstr_p * 16) - 1:0] assembled_instr_lo; + wire [((((((((7 + ras_idx_width_p) + ras_idx_width_p) + btb_tag_width_p) + btb_idx_width_p) + bht_idx_width_p) + (2 * bht_row_els_p)) + ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p))) + ghist_width_p) - 1:0] assembled_br_metadata_fwd_lo; + wire assembled_partial_lo; + wire [fetch_ptr_p - 1:0] assembled_count_lo; + wire [fetch_ptr_p - 1:0] assembled_count_li; + bp_fe_realigner #(.bp_params_p(bp_params_p)) realigner( + .clk_i(clk_i), + .reset_i(reset_i), + .if2_hit_v_i(if2_hit_v_lo), + .if2_miss_v_i(if2_miss_v_lo), + .if2_pc_i(if2_pc_lo), + .if2_data_i(if2_data_lo), + .if2_br_metadata_fwd_i(if2_br_metadata_fwd_lo), + .if2_yumi_o(if2_yumi_li), + .redirect_v_i(redirect_v_li), + .redirect_pc_i(redirect_pc_li), + .redirect_instr_i(redirect_instr_li), + .redirect_br_metadata_fwd_i(redirect_br_metadata_fwd_li), + .redirect_resume_i(redirect_resume_li), + .assembled_v_o(assembled_v_lo), + .assembled_pc_o(assembled_pc_lo), + .assembled_instr_o(assembled_instr_lo), + .assembled_br_metadata_fwd_o(assembled_br_metadata_fwd_lo), + .assembled_partial_o(assembled_partial_lo), + .assembled_count_o(assembled_count_lo), + .assembled_count_i(assembled_count_li), + .assembled_yumi_i(assembled_yumi_li) + ); + bp_fe_scan #(.bp_params_p(bp_params_p)) scan( + .assembled_v_i(assembled_v_lo), + .assembled_pc_i(assembled_pc_lo), + .assembled_instr_i(assembled_instr_lo), + .assembled_br_metadata_fwd_i(assembled_br_metadata_fwd_lo), + .assembled_partial_i(assembled_partial_lo), + .assembled_count_i(assembled_count_lo), + .assembled_count_o(assembled_count_li), + .assembled_yumi_o(assembled_yumi_li), + .fetch_v_o(fetch_v_lo), + .fetch_pc_o(fetch_pc_lo), + .fetch_instr_o(fetch_instr_lo), + .fetch_br_metadata_fwd_o(fetch_br_metadata_fwd_lo), + .fetch_partial_o(fetch_partial_lo), + .fetch_count_o(fetch_count_lo), + .fetch_scan_o(fetch_scan_lo), + .fetch_startup_o(fetch_startup_lo), + .fetch_catchup_o(fetch_catchup_lo), + .fetch_rebase_o(fetch_rebase_lo), + .fetch_linear_o(fetch_linear_lo), + .fetch_yumi_i(fetch_yumi_li), + .fetch_taken_i(fetch_taken_li) + ); + bp_fe_controller #(.bp_params_p(bp_params_p)) controller( + .clk_i(clk_i), + .reset_i(reset_i), + .pc_gen_init_done_i(pc_gen_init_done_lo), + .fe_cmd_i(fe_cmd_i), + .fe_cmd_v_i(fe_cmd_v_i), + .fe_cmd_yumi_o(fe_cmd_yumi_o), + .fe_queue_o(fe_queue_o), + .fe_queue_v_o(fe_queue_v_o), + .fe_queue_ready_and_i(fe_queue_ready_and_i), + .redirect_v_o(redirect_v_li), + .redirect_pc_o(redirect_pc_li), + .redirect_npc_o(redirect_npc_li), + .redirect_instr_o(redirect_instr_li), + .redirect_resume_o(redirect_resume_li), + .redirect_br_v_o(redirect_br_v_li), + .redirect_br_taken_o(redirect_br_taken_li), + .redirect_br_ntaken_o(redirect_br_ntaken_li), + .redirect_br_nonbr_o(redirect_br_nonbr_li), + .redirect_br_metadata_fwd_o(redirect_br_metadata_fwd_li), + .attaboy_v_o(attaboy_v_li), + .attaboy_force_o(attaboy_force_li), + .attaboy_pc_o(attaboy_pc_li), + .attaboy_br_metadata_fwd_o(attaboy_br_metadata_fwd_li), + .attaboy_taken_o(attaboy_taken_li), + .attaboy_ntaken_o(attaboy_ntaken_li), + .attaboy_yumi_i(attaboy_yumi_lo), + .next_pc_i(next_pc_lo), + .ovr_i(ovr_lo), + .tl_flush_o(tl_flush_lo), + .itlb_miss_tl_i(ptag_miss_lo), + .instr_page_fault_tl_i(instr_page_fault_lo), + .instr_access_fault_tl_i(instr_access_fault_lo), + .icache_miss_tv_i(icache_miss_v_lo), + .tv_we_i(icache_tv_we), + .tv_flush_o(tv_flush_lo), + .fetch_v_i(fetch_v_lo), + .fetch_pc_i(fetch_pc_lo), + .fetch_instr_i(fetch_instr_lo), + .fetch_br_metadata_fwd_i(fetch_br_metadata_fwd_lo), + .fetch_partial_i(fetch_partial_lo), + .fetch_count_i(fetch_count_lo), + .fetch_yumi_o(fetch_yumi_li), + .itlb_r_v_o(itlb_r_v_li), + .itlb_w_v_o(itlb_w_v_li), + .itlb_w_vtag_o(itlb_w_vtag_li), + .itlb_w_entry_o(itlb_w_tlb_entry_li), + .itlb_fence_v_o(itlb_fence_v_li), + .icache_v_o(icache_v_li), + .icache_force_o(icache_force_li), + .icache_pkt_o(icache_pkt_li), + .icache_yumi_i(icache_yumi_lo), + .shadow_priv_o(shadow_priv_n), + .shadow_priv_w_o(shadow_priv_w), + .shadow_translation_en_o(shadow_translation_en_n), + .shadow_translation_en_w_o(shadow_translation_en_w) + ); +endmodule +module bp_lce ( + clk_i, + reset_i, + did_i, + lce_id_i, + lce_mode_i, + cache_req_i, + cache_req_v_i, + cache_req_yumi_o, + cache_req_lock_o, + cache_req_metadata_i, + cache_req_metadata_v_i, + cache_req_critical_o, + cache_req_id_o, + cache_req_last_o, + cache_req_credits_full_o, + cache_req_credits_empty_o, + tag_mem_pkt_v_o, + tag_mem_pkt_o, + tag_mem_pkt_yumi_i, + tag_mem_i, + data_mem_pkt_v_o, + data_mem_pkt_o, + data_mem_pkt_yumi_i, + data_mem_i, + stat_mem_pkt_v_o, + stat_mem_pkt_o, + stat_mem_pkt_yumi_i, + stat_mem_i, + lce_req_header_o, + lce_req_data_o, + lce_req_v_o, + lce_req_ready_and_i, + lce_cmd_header_i, + lce_cmd_data_i, + lce_cmd_v_i, + lce_cmd_ready_and_o, + lce_fill_header_i, + lce_fill_data_i, + lce_fill_v_i, + lce_fill_ready_and_o, + lce_fill_header_o, + lce_fill_data_o, + lce_fill_v_o, + lce_fill_ready_and_i, + lce_resp_header_o, + lce_resp_data_o, + lce_resp_v_o, + lce_resp_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter assoc_p = 0; + parameter sets_p = 0; + parameter block_width_p = 0; + parameter fill_width_p = 0; + parameter data_width_p = 0; + parameter id_width_p = 0; + parameter timeout_max_limit_p = 4; + parameter credits_p = coh_noc_max_credits_p; + parameter non_excl_reads_p = 0; + parameter tag_width_p = 0; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cache_req_width_lp = ((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 8; + localparam cache_req_metadata_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1; + localparam cache_data_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 2; + localparam cache_tag_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 3; + localparam cache_tag_info_width_lp = 3 + tag_width_p; + localparam cache_stat_mem_pkt_width_lp = (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 2; + localparam cache_stat_info_width_lp = (2 > ((2 * assoc_p) - 1) ? 2 : (2 * assoc_p) - 1); + input clk_i; + input reset_i; + input [did_width_p - 1:0] did_i; + input [lce_id_width_p - 1:0] lce_id_i; + input wire [1:0] lce_mode_i; + input [cache_req_width_lp - 1:0] cache_req_i; + input cache_req_v_i; + output wire cache_req_yumi_o; + output wire cache_req_lock_o; + input [cache_req_metadata_width_lp - 1:0] cache_req_metadata_i; + input cache_req_metadata_v_i; + output wire cache_req_critical_o; + output wire [id_width_p - 1:0] cache_req_id_o; + output wire cache_req_last_o; + output wire cache_req_credits_full_o; + output wire cache_req_credits_empty_o; + output wire tag_mem_pkt_v_o; + output wire [cache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_o; + input tag_mem_pkt_yumi_i; + input [cache_tag_info_width_lp - 1:0] tag_mem_i; + output wire data_mem_pkt_v_o; + output wire [cache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_o; + input data_mem_pkt_yumi_i; + input [block_width_p - 1:0] data_mem_i; + output wire stat_mem_pkt_v_o; + output wire [cache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_o; + input stat_mem_pkt_yumi_i; + input [cache_stat_info_width_lp - 1:0] stat_mem_i; + output wire [lce_req_header_width_lp - 1:0] lce_req_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_req_data_o; + output wire lce_req_v_o; + input lce_req_ready_and_i; + input [lce_cmd_header_width_lp - 1:0] lce_cmd_header_i; + input [bedrock_fill_width_p - 1:0] lce_cmd_data_i; + input lce_cmd_v_i; + output wire lce_cmd_ready_and_o; + input [lce_fill_header_width_lp - 1:0] lce_fill_header_i; + input [bedrock_fill_width_p - 1:0] lce_fill_data_i; + input lce_fill_v_i; + output wire lce_fill_ready_and_o; + output wire [lce_fill_header_width_lp - 1:0] lce_fill_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_fill_data_o; + output wire lce_fill_v_o; + input lce_fill_ready_and_i; + output wire [lce_resp_header_width_lp - 1:0] lce_resp_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_resp_data_o; + output wire lce_resp_v_o; + input lce_resp_ready_and_i; + generate + if ((sets_p <= 1) || ((1 << $clog2(sets_p)) != sets_p)) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/lce/bp_lce.sv:112:5 - bp_lce.genblk1\n msg: ", "LCE sets must be greater than 1 and power of two"); + end + if ((1 << $clog2(assoc_p)) != assoc_p) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/lce/bp_lce.sv:114:5 - bp_lce.genblk2\n msg: ", "LCE assoc must be power of two"); + end + if ((1 << $clog2(block_width_p)) != block_width_p) begin : genblk3 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/lce/bp_lce.sv:116:5 - bp_lce.genblk3\n msg: ", "LCE block width must be a power of two"); + end + if ((block_width_p < 64) || (block_width_p > 1024)) begin : genblk4 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/lce/bp_lce.sv:118:5 - bp_lce.genblk4\n msg: ", "LCE block width must be between 8 and 128 bytes"); + end + if (fill_width_p < bp_common_pkg_dword_width_gp) begin : genblk5 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/lce/bp_lce.sv:122:5 - bp_lce.genblk5\n msg: ", "fill width must be greater or equal than cache request data width"); + end + endgenerate + wire req_busy_lo; + wire credit_return_lo; + wire cache_req_done_lo; + wire sync_done_lo; + wire cache_init_done_lo; + bp_lce_req #( + .bp_params_p(bp_params_p), + .assoc_p(assoc_p), + .sets_p(sets_p), + .block_width_p(block_width_p), + .fill_width_p(fill_width_p), + .data_width_p(data_width_p), + .tag_width_p(tag_width_p), + .credits_p(credits_p), + .non_excl_reads_p(non_excl_reads_p), + .id_width_p(id_width_p) + ) request( + .clk_i(clk_i), + .reset_i(reset_i), + .did_i(did_i), + .lce_id_i(lce_id_i), + .lce_mode_i(lce_mode_i), + .sync_done_i(sync_done_lo), + .cache_init_done_i(cache_init_done_lo), + .busy_o(req_busy_lo), + .cache_req_i(cache_req_i), + .cache_req_v_i(cache_req_v_i), + .cache_req_yumi_o(cache_req_yumi_o), + .cache_req_metadata_i(cache_req_metadata_i), + .cache_req_metadata_v_i(cache_req_metadata_v_i), + .cache_req_credits_full_o(cache_req_credits_full_o), + .cache_req_credits_empty_o(cache_req_credits_empty_o), + .credit_return_i(credit_return_lo), + .cache_req_done_i(cache_req_done_lo), + .lce_req_header_o(lce_req_header_o), + .lce_req_data_o(lce_req_data_o), + .lce_req_v_o(lce_req_v_o), + .lce_req_ready_and_i(lce_req_ready_and_i) + ); + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_li; + wire [fill_width_p - 1:0] lce_cmd_data_li; + wire lce_cmd_v_li; + wire lce_cmd_ready_and_lo; + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + localparam sv2v_uu_lce_cmd_fill_xbar_num_sink_p = 1; + localparam sv2v_uu_lce_cmd_fill_xbar_lg_num_sink_lp = 1; + localparam sv2v_uu_lce_cmd_fill_xbar_num_source_p = 2; + localparam [1:0] sv2v_uu_lce_cmd_fill_xbar_ext_msg_dst_i_0 = 1'sb0; + bp_me_xbar_stream #( + .bp_params_p(bp_params_p), + .payload_width_p(lce_cmd_payload_width_lp), + .stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .num_source_p(2), + .num_sink_p(1) + ) lce_cmd_fill_xbar( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i({lce_cmd_header_i, lce_fill_header_i}), + .msg_data_i({lce_cmd_data_i, lce_fill_data_i}), + .msg_v_i({lce_cmd_v_i, lce_fill_v_i}), + .msg_ready_and_o({lce_cmd_ready_and_o, lce_fill_ready_and_o}), + .msg_dst_i(sv2v_uu_lce_cmd_fill_xbar_ext_msg_dst_i_0), + .msg_header_o(lce_cmd_header_li), + .msg_data_o(lce_cmd_data_li), + .msg_v_o(lce_cmd_v_li), + .msg_ready_and_i(lce_cmd_ready_and_lo) + ); + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_fill_header_lo; + wire [fill_width_p - 1:0] lce_fill_data_lo; + wire lce_fill_v_lo; + wire lce_fill_ready_and_li; + bsg_two_fifo #(.width_p(fill_width_p + (1 * ((((0 + (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p)) + 3) + paddr_width_p) + 8)))) lce_fill_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i({lce_fill_data_lo, lce_fill_header_lo}), + .v_i(lce_fill_v_lo), + .ready_param_o(lce_fill_ready_and_li), + .data_o({lce_fill_data_o, lce_fill_header_o}), + .v_o(lce_fill_v_o), + .yumi_i(lce_fill_ready_and_i & lce_fill_v_o) + ); + bp_lce_cmd #( + .bp_params_p(bp_params_p), + .assoc_p(assoc_p), + .sets_p(sets_p), + .block_width_p(block_width_p), + .fill_width_p(fill_width_p), + .data_width_p(data_width_p), + .tag_width_p(tag_width_p), + .id_width_p(id_width_p) + ) command( + .clk_i(clk_i), + .reset_i(reset_i), + .lce_id_i(lce_id_i), + .lce_mode_i(lce_mode_i), + .cache_init_done_o(cache_init_done_lo), + .sync_done_o(sync_done_lo), + .cache_req_id_o(cache_req_id_o), + .cache_req_critical_o(cache_req_critical_o), + .cache_req_last_o(cache_req_last_o), + .credit_return_o(credit_return_lo), + .cache_req_done_o(cache_req_done_lo), + .data_mem_pkt_o(data_mem_pkt_o), + .data_mem_pkt_v_o(data_mem_pkt_v_o), + .data_mem_pkt_yumi_i(data_mem_pkt_yumi_i), + .data_mem_i(data_mem_i), + .tag_mem_pkt_o(tag_mem_pkt_o), + .tag_mem_pkt_v_o(tag_mem_pkt_v_o), + .tag_mem_pkt_yumi_i(tag_mem_pkt_yumi_i), + .tag_mem_i(tag_mem_i), + .stat_mem_pkt_o(stat_mem_pkt_o), + .stat_mem_pkt_v_o(stat_mem_pkt_v_o), + .stat_mem_pkt_yumi_i(stat_mem_pkt_yumi_i), + .stat_mem_i(stat_mem_i), + .lce_cmd_header_i(lce_cmd_header_li), + .lce_cmd_data_i(lce_cmd_data_li), + .lce_cmd_v_i(lce_cmd_v_li), + .lce_cmd_ready_and_o(lce_cmd_ready_and_lo), + .lce_fill_header_o(lce_fill_header_lo), + .lce_fill_data_o(lce_fill_data_lo), + .lce_fill_v_o(lce_fill_v_lo), + .lce_fill_ready_and_i(lce_fill_ready_and_li), + .lce_resp_header_o(lce_resp_header_o), + .lce_resp_data_o(lce_resp_data_o), + .lce_resp_v_o(lce_resp_v_o), + .lce_resp_ready_and_i(lce_resp_ready_and_i) + ); + wire [(((timeout_max_limit_p + 1) == 1) || ((timeout_max_limit_p + 1) == 0) ? 1 : $clog2(timeout_max_limit_p + 1)) - 1:0] timeout_cnt_r; + wire coherence_blocked = ((data_mem_pkt_v_o & ~data_mem_pkt_yumi_i) | (tag_mem_pkt_v_o & ~tag_mem_pkt_yumi_i)) | (stat_mem_pkt_v_o & ~stat_mem_pkt_yumi_i); + bsg_counter_clear_up #( + .max_val_p(timeout_max_limit_p), + .init_val_p(0), + .disable_overflow_warning_p(1) + ) timeout_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(~coherence_blocked), + .up_i(coherence_blocked), + .count_o(timeout_cnt_r) + ); + wire timeout = timeout_cnt_r == timeout_max_limit_p; + assign cache_req_lock_o = (timeout | req_busy_lo) | ~cache_init_done_lo; +endmodule +module bp_lce_req ( + clk_i, + reset_i, + did_i, + lce_id_i, + lce_mode_i, + cache_init_done_i, + sync_done_i, + busy_o, + cache_req_i, + cache_req_v_i, + cache_req_yumi_o, + cache_req_metadata_i, + cache_req_metadata_v_i, + cache_req_credits_full_o, + cache_req_credits_empty_o, + credit_return_i, + cache_req_done_i, + lce_req_header_o, + lce_req_data_o, + lce_req_v_o, + lce_req_ready_and_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter assoc_p = 0; + parameter sets_p = 0; + parameter block_width_p = 0; + parameter fill_width_p = 0; + parameter data_width_p = 0; + parameter tag_width_p = 0; + parameter id_width_p = 0; + parameter timeout_max_limit_p = 4; + parameter credits_p = coh_noc_max_credits_p; + parameter non_excl_reads_p = 0; + localparam bedrock_byte_offset_lp = (((fill_width_p / 8) == 1) || ((fill_width_p / 8) == 0) ? 1 : $clog2(fill_width_p / 8)); + localparam [paddr_width_p - 1:0] req_addr_mask = {paddr_width_p {1'b1}} << bedrock_byte_offset_lp; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cache_req_width_lp = ((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 8; + localparam cache_req_metadata_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1; + localparam cache_data_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 2; + localparam cache_tag_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 3; + localparam cache_tag_info_width_lp = 3 + tag_width_p; + localparam cache_stat_mem_pkt_width_lp = (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 2; + localparam cache_stat_info_width_lp = (2 > ((2 * assoc_p) - 1) ? 2 : (2 * assoc_p) - 1); + input clk_i; + input reset_i; + input [did_width_p - 1:0] did_i; + input [lce_id_width_p - 1:0] lce_id_i; + input wire [1:0] lce_mode_i; + input cache_init_done_i; + input sync_done_i; + output wire busy_o; + input [cache_req_width_lp - 1:0] cache_req_i; + input cache_req_v_i; + output reg cache_req_yumi_o; + input [cache_req_metadata_width_lp - 1:0] cache_req_metadata_i; + input cache_req_metadata_v_i; + output wire cache_req_credits_full_o; + output wire cache_req_credits_empty_o; + input credit_return_i; + input cache_req_done_i; + output wire [lce_req_header_width_lp - 1:0] lce_req_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_req_data_o; + output wire lce_req_v_o; + input lce_req_ready_and_i; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_cast_o; + assign lce_req_header_o = lce_req_header_cast_o; + wire [((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7:0] cache_req_cast_i; + assign cache_req_cast_i = cache_req_i; + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0:0] cache_req_metadata_cast_i; + assign cache_req_metadata_cast_i = cache_req_metadata_i; + reg [2:0] state_n; + reg [2:0] state_r; + wire is_reset = state_r == 3'd0; + wire is_ready = state_r == 3'd1; + wire is_request = state_r == 3'd2; + wire is_send = state_r == 3'd3; + wire is_backoff = state_r == 3'd4; + wire cache_req_ready_lo; + wire [((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7:0] cache_req_r; + wire cache_req_v_r; + reg cache_req_done; + bsg_two_fifo #( + .width_p(((((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7))), + .ready_THEN_valid_p(1) + ) cache_req_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(cache_req_cast_i), + .v_i(cache_req_yumi_o), + .ready_param_o(cache_req_ready_lo), + .data_o(cache_req_r), + .v_o(cache_req_v_r), + .yumi_i(cache_req_done) + ); + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0:0] cache_req_metadata; + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0:0] cache_req_metadata_r; + wire cache_req_metadata_v_r; + bsg_two_fifo #( + .width_p(((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 0 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1 : 1 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))), + .ready_THEN_valid_p(1) + ) cache_req_metadata_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(cache_req_metadata_cast_i), + .v_i(cache_req_metadata_v_i & (cache_req_metadata_v_r | ~cache_req_done)), + .ready_param_o(), + .data_o(cache_req_metadata_r), + .v_o(cache_req_metadata_v_r), + .yumi_i(cache_req_metadata_v_r & cache_req_done) + ); + assign cache_req_metadata = (cache_req_metadata_v_r ? cache_req_metadata_r : cache_req_metadata_cast_i); + wire cache_req_metadata_v = cache_req_metadata_v_i | cache_req_metadata_v_r; + wire miss_load_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0000); + wire miss_store_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0001); + wire miss_v_li = (cache_req_v_i & miss_load_v_li) | miss_store_v_li; + wire bclean_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b1011); + wire clean_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0110); + wire uc_load_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0011); + wire uc_amo_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0101); + wire uc_store_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0100); + wire blocking_v_li = ((miss_load_v_li | miss_store_v_li) | uc_load_v_li) | uc_amo_v_li; + wire nonblocking_v_li = uc_store_v_li; + reg [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_req_header_lo; + wire [paddr_width_p - 1:0] fsm_req_addr_lo; + reg [fill_width_p - 1:0] fsm_req_data_lo; + reg fsm_req_v_lo; + wire fsm_req_ready_then_li; + wire fsm_req_new_lo; + wire fsm_req_critical_lo; + wire fsm_req_last_lo; + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(fill_width_p), + .payload_width_p(lce_req_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp) + ) req_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(lce_req_header_cast_o), + .msg_data_o(lce_req_data_o), + .msg_v_o(lce_req_v_o), + .msg_ready_and_i(lce_req_ready_and_i), + .fsm_header_i(fsm_req_header_lo), + .fsm_addr_o(fsm_req_addr_lo), + .fsm_data_i(fsm_req_data_lo), + .fsm_v_i(fsm_req_v_lo), + .fsm_ready_then_o(fsm_req_ready_then_li), + .fsm_new_o(fsm_req_new_lo), + .fsm_critical_o(fsm_req_critical_lo), + .fsm_last_o(fsm_req_last_lo) + ); + wire miss_load_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0000); + wire miss_store_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0001); + wire miss_v_r = miss_load_v_r | miss_store_v_r; + wire bflush_v_r = cache_req_v_r & |{cache_req_r[7-:4] == 4'b1011, cache_req_r[7-:4] == 4'b1100, cache_req_r[7-:4] == 4'b1101}; + wire clean_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0110); + wire uc_load_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0011); + wire uc_amo_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0101); + wire uc_store_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0100); + wire blocking_v_r = ((miss_load_v_r | miss_store_v_r) | uc_load_v_r) | uc_amo_v_r; + wire nonblocking_v_r = uc_store_v_r; + wire [$clog2({1'b0, credits_p} + 1) - 1:0] credit_count_lo; + wire credit_v_li = fsm_req_v_lo & fsm_req_new_lo; + wire credit_ready_then_li = fsm_req_ready_then_li; + wire credit_returned_li = credit_return_i; + bsg_flow_counter #( + .els_p(credits_p), + .ready_THEN_valid_p(1) + ) req_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(credit_v_li), + .ready_param_i(credit_ready_then_li), + .yumi_i(credit_returned_li), + .count_o(credit_count_lo) + ); + assign cache_req_credits_full_o = cache_req_v_r && (credit_count_lo == credits_p); + assign cache_req_credits_empty_o = ~cache_req_v_r && (credit_count_lo == {$clog2({1'b0, credits_p} + 1) {1'sb0}}); + wire [cce_id_width_p - 1:0] req_cce_id_lo; + bp_me_addr_to_cce_id #(.bp_params_p(bp_params_p)) req_map( + .paddr_i(cache_req_r[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]), + .cce_id_o(req_cce_id_lo) + ); + assign busy_o = ~sync_done_i && (lce_mode_i == 2'd1); + reg [3:0] req_subop; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + case (cache_req_r[3-:4]) + 4'b0001: req_subop = 4'b0001; + 4'b0010: req_subop = 4'b0010; + 4'b0011: req_subop = 4'b0011; + 4'b0100: req_subop = 4'b0100; + 4'b0101: req_subop = 4'b0101; + 4'b0110: req_subop = 4'b0110; + 4'b0111: req_subop = 4'b0111; + 4'b1000: req_subop = 4'b1000; + 4'b1001: req_subop = 4'b1001; + 4'b1010: req_subop = 4'b1010; + 4'b1011: req_subop = 4'b1011; + default: req_subop = 4'b0000; + endcase + end + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + function automatic [lce_assoc_width_p - 1:0] sv2v_cast_B83AA; + input reg [lce_assoc_width_p - 1:0] inp; + sv2v_cast_B83AA = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + fsm_req_header_lo = 1'sb0; + fsm_req_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = cache_req_r[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_req_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = sv2v_cast_3(cache_req_r[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]); + fsm_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)] = req_cce_id_lo; + fsm_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)] = lce_id_i; + fsm_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = did_i; + fsm_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))) >= (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p + 0)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))) - (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p + 0))))) + 1 : ((1 + (lce_id_width_p + (cce_id_width_p + (did_width_p + 0)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))))) + 1)] = sv2v_cast_B83AA(cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]); + fsm_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))))] = (miss_load_v_r && (non_excl_reads_p == 1) ? 1'b1 : 1'b0); + fsm_req_header_lo[7-:4] = (bflush_v_r ? 4'b0111 : req_subop); + fsm_req_data_lo = cache_req_r[data_width_p + (3 + (paddr_width_p + 7))-:((data_width_p + (3 + (paddr_width_p + 7))) >= (3 + (paddr_width_p + 8)) ? ((data_width_p + (3 + (paddr_width_p + 7))) - (3 + (paddr_width_p + 8))) + 1 : ((3 + (paddr_width_p + 8)) - (data_width_p + (3 + (paddr_width_p + 7)))) + 1)]; + (* full_case, parallel_case *) + case (cache_req_r[7-:4]) + 4'b1101: fsm_req_header_lo[3-:4] = 4'b0011; + 4'b0100: fsm_req_header_lo[3-:4] = 4'b0011; + 4'b0011: fsm_req_header_lo[3-:4] = 4'b0010; + 4'b0101: fsm_req_header_lo[3-:4] = 4'b0100; + 4'b0000: fsm_req_header_lo[3-:4] = 4'b0000; + 4'b0001: fsm_req_header_lo[3-:4] = 4'b0001; + default: + ; + endcase + end + always @(*) begin + if (_sv2v_0) + ; + cache_req_yumi_o = 1'sb0; + fsm_req_v_lo = 1'sb0; + cache_req_done = 1'sb0; + case (state_r) + 3'd1: begin + cache_req_yumi_o = (cache_req_v_i & cache_req_ready_lo) & (~cache_req_v_r | nonblocking_v_li); + state_n = (cache_req_yumi_o ? (blocking_v_li ? 3'd3 : 3'd1) : (cache_req_v_i ? 3'd4 : state_r)); + end + 3'd3: begin + fsm_req_v_lo = fsm_req_ready_then_li & ~cache_req_credits_full_o; + state_n = (fsm_req_v_lo & fsm_req_last_lo ? 3'd2 : state_r); + end + 3'd2: begin + cache_req_done = cache_req_done_i; + state_n = (cache_req_done ? 3'd1 : state_r); + end + 3'd4: state_n = (fsm_req_ready_then_li ? 3'd1 : state_r); + default: state_n = (cache_init_done_i ? 3'd1 : state_r); + endcase + if (is_ready & nonblocking_v_r) begin + fsm_req_v_lo = fsm_req_ready_then_li & ~cache_req_credits_full_o; + cache_req_done = fsm_req_v_lo & fsm_req_last_lo; + end + end + always @(posedge clk_i) + if (reset_i) + state_r <= 3'd0; + else + state_r <= state_n; + initial _sv2v_0 = 0; +endmodule +module bp_lce_cmd ( + clk_i, + reset_i, + lce_id_i, + lce_mode_i, + cache_init_done_o, + sync_done_o, + tag_mem_pkt_v_o, + tag_mem_pkt_o, + tag_mem_pkt_yumi_i, + tag_mem_i, + data_mem_pkt_v_o, + data_mem_pkt_o, + data_mem_pkt_yumi_i, + data_mem_i, + stat_mem_pkt_v_o, + stat_mem_pkt_o, + stat_mem_pkt_yumi_i, + stat_mem_i, + cache_req_id_o, + cache_req_critical_o, + cache_req_last_o, + credit_return_o, + cache_req_done_o, + lce_cmd_header_i, + lce_cmd_data_i, + lce_cmd_v_i, + lce_cmd_ready_and_o, + lce_fill_header_o, + lce_fill_data_o, + lce_fill_v_o, + lce_fill_ready_and_i, + lce_resp_header_o, + lce_resp_data_o, + lce_resp_v_o, + lce_resp_ready_and_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter assoc_p = 0; + parameter sets_p = 0; + parameter block_width_p = 0; + parameter fill_width_p = 0; + parameter data_width_p = 0; + parameter tag_width_p = 0; + parameter id_width_p = 0; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cache_req_width_lp = ((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 8; + localparam cache_req_metadata_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1; + localparam cache_data_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 2; + localparam cache_tag_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 3; + localparam cache_tag_info_width_lp = 3 + tag_width_p; + localparam cache_stat_mem_pkt_width_lp = (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 2; + localparam cache_stat_info_width_lp = (2 > ((2 * assoc_p) - 1) ? 2 : (2 * assoc_p) - 1); + input clk_i; + input reset_i; + input [lce_id_width_p - 1:0] lce_id_i; + input wire [1:0] lce_mode_i; + output wire cache_init_done_o; + output wire sync_done_o; + output reg tag_mem_pkt_v_o; + output wire [cache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_o; + input tag_mem_pkt_yumi_i; + input [cache_tag_info_width_lp - 1:0] tag_mem_i; + output reg data_mem_pkt_v_o; + output wire [cache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_o; + input data_mem_pkt_yumi_i; + input [block_width_p - 1:0] data_mem_i; + output reg stat_mem_pkt_v_o; + output wire [cache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_o; + input stat_mem_pkt_yumi_i; + input [cache_stat_info_width_lp - 1:0] stat_mem_i; + output reg [id_width_p - 1:0] cache_req_id_o; + output reg cache_req_critical_o; + output reg cache_req_last_o; + output reg credit_return_o; + output reg cache_req_done_o; + input [lce_cmd_header_width_lp - 1:0] lce_cmd_header_i; + input [bedrock_fill_width_p - 1:0] lce_cmd_data_i; + input lce_cmd_v_i; + output wire lce_cmd_ready_and_o; + output wire [lce_fill_header_width_lp - 1:0] lce_fill_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_fill_data_o; + output wire lce_fill_v_o; + input lce_fill_ready_and_i; + output wire [lce_resp_header_width_lp - 1:0] lce_resp_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_resp_data_o; + output wire lce_resp_v_o; + input lce_resp_ready_and_i; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_cast_i; + assign lce_cmd_header_cast_i = lce_cmd_header_i; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_fill_header_cast_o; + assign lce_fill_header_o = lce_fill_header_cast_o; + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_resp_header_cast_o; + assign lce_resp_header_o = lce_resp_header_cast_o; + reg [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 1:0] data_mem_pkt_cast_o; + assign data_mem_pkt_o = data_mem_pkt_cast_o; + reg [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 2:0] tag_mem_pkt_cast_o; + assign tag_mem_pkt_o = tag_mem_pkt_cast_o; + reg [(((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 1:0] stat_mem_pkt_cast_o; + assign stat_mem_pkt_o = stat_mem_pkt_cast_o; + localparam block_size_in_fill_lp = block_width_p / fill_width_p; + localparam fill_cnt_width_lp = ((block_size_in_fill_lp == 1) || (block_size_in_fill_lp == 0) ? 1 : $clog2(block_size_in_fill_lp)); + localparam fill_offset_width_lp = (((fill_width_p >> 3) == 1) || ((fill_width_p >> 3) == 0) ? 1 : $clog2(fill_width_p >> 3)); + localparam lg_assoc_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam lg_sets_lp = ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)); + localparam block_size_in_bytes_lp = block_width_p / 8; + localparam block_byte_offset_lp = ((block_size_in_bytes_lp == 1) || (block_size_in_bytes_lp == 0) ? 1 : $clog2(block_size_in_bytes_lp)); + localparam tag_offset_lp = block_byte_offset_lp + (sets_p > 1 ? lg_sets_lp : 0); + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + localparam cmd_block_size_lp = sv2v_cast_3((((block_width_p / 8) == 1) || ((block_width_p / 8) == 0) ? 1 : $clog2(block_width_p / 8))); + reg [3:0] state_n; + reg [3:0] state_r; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_cmd_header_li; + wire [paddr_width_p - 1:0] fsm_cmd_addr_li; + wire [fill_width_p - 1:0] fsm_cmd_data_li; + wire fsm_cmd_v_li; + reg fsm_cmd_yumi_lo; + wire fsm_cmd_new_li; + wire fsm_cmd_critical_li; + wire fsm_cmd_last_li; + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(fill_width_p), + .payload_width_p(lce_cmd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp) + ) cmd_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(lce_cmd_header_cast_i), + .msg_data_i(lce_cmd_data_i), + .msg_v_i(lce_cmd_v_i), + .msg_ready_and_o(lce_cmd_ready_and_o), + .fsm_header_o(fsm_cmd_header_li), + .fsm_addr_o(fsm_cmd_addr_li), + .fsm_data_o(fsm_cmd_data_li), + .fsm_v_o(fsm_cmd_v_li), + .fsm_yumi_i(fsm_cmd_yumi_lo), + .fsm_new_o(fsm_cmd_new_li), + .fsm_critical_o(fsm_cmd_critical_li), + .fsm_last_o(fsm_cmd_last_li) + ); + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_cmd_header_r; + bsg_dff_en #(.width_p(1 * ((((0 + (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p)) + 3) + paddr_width_p) + 8))) fsm_cmd_header_reg( + .clk_i(clk_i), + .en_i(fsm_cmd_yumi_lo), + .data_i(fsm_cmd_header_li), + .data_o(fsm_cmd_header_r) + ); + reg [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_fill_header_lo; + reg [fill_width_p - 1:0] fsm_fill_data_lo; + reg fsm_fill_v_lo; + wire fsm_fill_ready_then_li; + wire [paddr_width_p - 1:0] fsm_fill_addr_lo; + wire fsm_fill_new_lo; + wire fsm_fill_critical_lo; + wire fsm_fill_last_lo; + localparam bp_common_pkg_lce_fill_stream_mask_gp = 16; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(fill_width_p), + .payload_width_p(lce_fill_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_fill_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_fill_stream_mask_gp) + ) fill_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(lce_fill_header_cast_o), + .msg_data_o(lce_fill_data_o), + .msg_v_o(lce_fill_v_o), + .msg_ready_and_i(lce_fill_ready_and_i), + .fsm_header_i(fsm_fill_header_lo), + .fsm_addr_o(fsm_fill_addr_lo), + .fsm_data_i(fsm_fill_data_lo), + .fsm_v_i(fsm_fill_v_lo), + .fsm_ready_then_o(fsm_fill_ready_then_li), + .fsm_new_o(fsm_fill_new_lo), + .fsm_critical_o(fsm_fill_critical_lo), + .fsm_last_o(fsm_fill_last_lo) + ); + reg [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_resp_header_lo; + reg [fill_width_p - 1:0] fsm_resp_data_lo; + reg fsm_resp_v_lo; + wire fsm_resp_ready_then_li; + wire [paddr_width_p - 1:0] fsm_resp_addr_lo; + wire fsm_resp_new_lo; + wire fsm_resp_critical_lo; + wire fsm_resp_last_lo; + localparam bp_common_pkg_lce_resp_stream_mask_gp = 8; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(fill_width_p), + .payload_width_p(lce_resp_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp) + ) resp_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(lce_resp_header_cast_o), + .msg_data_o(lce_resp_data_o), + .msg_v_o(lce_resp_v_o), + .msg_ready_and_i(lce_resp_ready_and_i), + .fsm_header_i(fsm_resp_header_lo), + .fsm_addr_o(fsm_resp_addr_lo), + .fsm_data_i(fsm_resp_data_lo), + .fsm_v_i(fsm_resp_v_lo), + .fsm_ready_then_o(fsm_resp_ready_then_li), + .fsm_new_o(fsm_resp_new_lo), + .fsm_critical_o(fsm_resp_critical_lo), + .fsm_last_o(fsm_resp_last_lo) + ); + wire [block_width_p - 1:0] dirty_data_r; + wire dirty_data_read = data_mem_pkt_yumi_i & (data_mem_pkt_cast_o[1-:2] == 2'd1); + bsg_dff_sync_read #( + .width_p(block_width_p), + .bypass_p(1) + ) dirty_data_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(data_mem_i), + .v_n_i(dirty_data_read), + .data_o(dirty_data_r) + ); + wire [fill_width_p - 1:0] dirty_data_selected; + reg [((block_size_in_fill_lp == 1) || (block_size_in_fill_lp == 0) ? 1 : $clog2(block_size_in_fill_lp)) - 1:0] dirty_data_select; + bsg_mux #( + .width_p(fill_width_p), + .els_p(block_size_in_fill_lp) + ) dirty_data_mux( + .data_i(dirty_data_r), + .sel_i(dirty_data_select), + .data_o(dirty_data_selected) + ); + wire [(3 + tag_width_p) - 1:0] dirty_tag_r; + wire dirty_tag_read = tag_mem_pkt_yumi_i & (tag_mem_pkt_cast_o[2-:3] == 3'd4); + bsg_dff_sync_read #( + .width_p(3 + tag_width_p), + .bypass_p(1) + ) dirty_tag_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(tag_mem_i), + .v_n_i(dirty_tag_read), + .data_o(dirty_tag_r) + ); + wire [(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p) - 1:0] dirty_stat_r; + wire dirty_stat_read = stat_mem_pkt_yumi_i & (stat_mem_pkt_cast_o[1-:2] == 2'd1); + bsg_dff_sync_read #( + .width_p(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p), + .bypass_p(1) + ) dirty_stat_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(stat_mem_i), + .v_n_i(dirty_stat_read), + .data_o(dirty_stat_r) + ); + assign cache_init_done_o = (state_r != 4'd0) && (state_r != 4'd1); + localparam cnt_width_lp = ((cce_id_width_p + 1) > (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + 1) ? cce_id_width_p + 1 : ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + 1); + localparam cnt_max_val_lp = (2 ** cnt_width_lp) - 1; + reg cnt_inc; + reg cnt_clear; + wire [cnt_width_lp - 1:0] cnt_r; + bsg_counter_clear_up #( + .max_val_p(cnt_max_val_lp), + .init_val_p(0), + .disable_overflow_warning_p(1) + ) counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(cnt_clear), + .up_i(cnt_inc), + .count_o(cnt_r) + ); + wire sync_done = (state_r == 4'd2) & cnt_clear; + bsg_dff_reset_set_clear #(.width_p(1)) sync_done_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(sync_done), + .clear_i(1'b0), + .data_o(sync_done_o) + ); + localparam bank_width_lp = block_width_p / assoc_p; + localparam byte_offset_width_lp = (((bank_width_lp >> 3) == 1) || ((bank_width_lp >> 3) == 0) ? 1 : $clog2(bank_width_lp >> 3)); + localparam bank_offset_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam fill_size_in_bank_lp = fill_width_p / bank_width_lp; + localparam bank_sub_offset_width_lp = $clog2(fill_size_in_bank_lp); + wire [block_size_in_fill_lp - 1:0] fill_index_shift = {{assoc_p != 1 {fsm_cmd_addr_li[byte_offset_width_lp+:bank_offset_width_lp] >> bank_sub_offset_width_lp}}, {assoc_p == 1 {1'sb0}}}; + function automatic signed [cnt_width_lp - 1:0] sv2v_cast_8702A_signed; + input reg signed [cnt_width_lp - 1:0] inp; + sv2v_cast_8702A_signed = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + state_n = state_r; + credit_return_o = 1'sb0; + cache_req_done_o = 1'sb0; + cache_req_last_o = 1'b0; + cache_req_critical_o = 1'b0; + cache_req_id_o = 1'sb0; + fsm_cmd_yumi_lo = 1'b0; + fsm_fill_header_lo = 1'sb0; + fsm_fill_data_lo = 1'sb0; + fsm_fill_v_lo = 1'b0; + fsm_resp_header_lo = 1'sb0; + fsm_resp_data_lo = 1'sb0; + fsm_resp_v_lo = 1'b0; + cnt_inc = 1'b0; + cnt_clear = 1'b0; + dirty_data_select = 1'sb0; + data_mem_pkt_cast_o = 1'sb0; + data_mem_pkt_v_o = 1'b0; + tag_mem_pkt_cast_o = 1'sb0; + tag_mem_pkt_v_o = 1'b0; + stat_mem_pkt_cast_o = 1'sb0; + stat_mem_pkt_v_o = 1'b0; + (* full_case, parallel_case *) + case (state_r) + 4'd0: state_n = 4'd1; + 4'd1: begin + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = cnt_r[0+:lg_sets_lp]; + tag_mem_pkt_cast_o[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)] = 3'b000; + tag_mem_pkt_cast_o[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] = 1'sb0; + tag_mem_pkt_cast_o[2-:3] = 3'd0; + tag_mem_pkt_v_o = 1'b1; + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = cnt_r[0+:lg_sets_lp]; + stat_mem_pkt_cast_o[1-:2] = 2'd0; + stat_mem_pkt_v_o = 1'b1; + cnt_clear = ((cnt_r == sv2v_cast_8702A_signed(sets_p - 1)) & tag_mem_pkt_yumi_i) & stat_mem_pkt_yumi_i; + cnt_inc = ((cnt_r < sv2v_cast_8702A_signed(sets_p - 1)) & tag_mem_pkt_yumi_i) & stat_mem_pkt_yumi_i; + state_n = (cnt_clear ? 4'd2 : state_r); + end + 4'd2: + (* full_case, parallel_case *) + case (fsm_cmd_header_li[3-:4]) + 4'b0000: begin + fsm_resp_header_lo[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))-:((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) >= (lce_id_width_p + (did_width_p + 0)) ? ((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) - (lce_id_width_p + (did_width_p + 0))) + 1 : ((lce_id_width_p + (did_width_p + 0)) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) + 1)]; + fsm_resp_header_lo[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)] = lce_id_i; + fsm_resp_header_lo[3-:4] = 4'b0000; + fsm_resp_v_lo = fsm_resp_ready_then_li & fsm_cmd_v_li; + fsm_cmd_yumi_lo = fsm_resp_v_lo; + cnt_clear = (cnt_r == sv2v_cast_8702A_signed(num_cce_p - 1)) & fsm_cmd_yumi_lo; + cnt_inc = (cnt_r < sv2v_cast_8702A_signed(num_cce_p - 1)) & fsm_cmd_yumi_lo; + end + 4'b0001: begin + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + tag_mem_pkt_cast_o[2-:3] = 3'd0; + tag_mem_pkt_v_o = fsm_cmd_v_li; + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + stat_mem_pkt_cast_o[1-:2] = 2'd0; + stat_mem_pkt_v_o = fsm_cmd_v_li; + fsm_cmd_yumi_lo = tag_mem_pkt_yumi_i & stat_mem_pkt_yumi_i; + end + 4'b0010: begin + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + tag_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + tag_mem_pkt_cast_o[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)] = 3'b000; + tag_mem_pkt_cast_o[2-:3] = 3'd2; + tag_mem_pkt_v_o = fsm_resp_ready_then_li & fsm_cmd_v_li; + fsm_resp_v_lo = tag_mem_pkt_yumi_i; + fsm_resp_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_cmd_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_resp_header_lo[3-:4] = 4'b0001; + fsm_resp_header_lo[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)] = lce_id_i; + fsm_resp_header_lo[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))-:((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) >= (lce_id_width_p + (did_width_p + 0)) ? ((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) - (lce_id_width_p + (did_width_p + 0))) + 1 : ((lce_id_width_p + (did_width_p + 0)) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) + 1)]; + fsm_cmd_yumi_lo = fsm_resp_v_lo; + end + 4'b0011, 4'b0101: begin + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + tag_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + tag_mem_pkt_cast_o[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)]; + tag_mem_pkt_cast_o[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] = 1'sb0; + tag_mem_pkt_cast_o[2-:3] = 3'd2; + tag_mem_pkt_v_o = fsm_cmd_v_li; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + fsm_cmd_yumi_lo = tag_mem_pkt_yumi_i; + cache_req_critical_o = fsm_cmd_v_li & (fsm_cmd_header_li[3-:4] == 4'b0101); + state_n = (tag_mem_pkt_yumi_i && (fsm_cmd_header_li[3-:4] == 4'b0101) ? 4'd7 : state_r); + end + 4'b0100: begin + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + tag_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + tag_mem_pkt_cast_o[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)]; + tag_mem_pkt_cast_o[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - tag_offset_lp)+:tag_width_p]; + tag_mem_pkt_cast_o[2-:3] = 3'd1; + tag_mem_pkt_v_o = fsm_cmd_v_li & fsm_cmd_new_li; + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + data_mem_pkt_cast_o[fill_width_p + ((block_width_p / fill_width_p) + 1)-:((fill_width_p + ((block_width_p / fill_width_p) + 1)) >= ((block_width_p / fill_width_p) + 2) ? ((fill_width_p + ((block_width_p / fill_width_p) + 1)) - ((block_width_p / fill_width_p) + 2)) + 1 : (((block_width_p / fill_width_p) + 2) - (fill_width_p + ((block_width_p / fill_width_p) + 1))) + 1)] = fsm_cmd_data_li; + data_mem_pkt_cast_o[(block_width_p / fill_width_p) + 1-:(((block_width_p / fill_width_p) + 1) >= 2 ? (block_width_p / fill_width_p) + 0 : 3 - ((block_width_p / fill_width_p) + 1))] = 1'b1 << fill_index_shift; + data_mem_pkt_cast_o[1-:2] = 2'd0; + data_mem_pkt_v_o = fsm_cmd_v_li; + fsm_cmd_yumi_lo = (~tag_mem_pkt_v_o | tag_mem_pkt_yumi_i) & data_mem_pkt_yumi_i; + cache_req_critical_o = fsm_cmd_v_li & fsm_cmd_critical_li; + state_n = (fsm_cmd_yumi_lo & fsm_cmd_last_li ? 4'd7 : state_r); + end + 4'b1011: begin + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + data_mem_pkt_cast_o[fill_width_p + ((block_width_p / fill_width_p) + 1)-:((fill_width_p + ((block_width_p / fill_width_p) + 1)) >= ((block_width_p / fill_width_p) + 2) ? ((fill_width_p + ((block_width_p / fill_width_p) + 1)) - ((block_width_p / fill_width_p) + 2)) + 1 : (((block_width_p / fill_width_p) + 2) - (fill_width_p + ((block_width_p / fill_width_p) + 1))) + 1)] = {fill_width_p / bp_common_pkg_dword_width_gp {fsm_cmd_data_li[0+:bp_common_pkg_dword_width_gp]}}; + data_mem_pkt_cast_o[1-:2] = 2'd2; + data_mem_pkt_v_o = fsm_cmd_v_li; + fsm_cmd_yumi_lo = data_mem_pkt_yumi_i & fsm_cmd_new_li; + cache_req_critical_o = fsm_cmd_v_li & fsm_cmd_critical_li; + cache_req_last_o = cache_req_critical_o; + cache_req_done_o = fsm_cmd_yumi_lo & cache_req_last_o; + credit_return_o = cache_req_done_o; + end + 4'b1100: begin + fsm_cmd_yumi_lo = fsm_cmd_v_li; + credit_return_o = fsm_cmd_yumi_lo; + end + 4'b0110, 4'b0111: begin + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + data_mem_pkt_cast_o[1-:2] = 2'd1; + data_mem_pkt_v_o = fsm_cmd_v_li; + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + tag_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + tag_mem_pkt_cast_o[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)]; + tag_mem_pkt_cast_o[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - tag_offset_lp)+:tag_width_p]; + tag_mem_pkt_cast_o[2-:3] = 3'd2; + tag_mem_pkt_v_o = fsm_cmd_v_li & (fsm_cmd_header_li[3-:4] == 4'b0111); + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + stat_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1) >= 2 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 3 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + stat_mem_pkt_cast_o[1-:2] = 2'd1; + stat_mem_pkt_v_o = fsm_cmd_v_li; + fsm_cmd_yumi_lo = (data_mem_pkt_yumi_i & stat_mem_pkt_yumi_i) & (~tag_mem_pkt_v_o | tag_mem_pkt_yumi_i); + state_n = (fsm_cmd_yumi_lo ? 4'd5 : state_r); + end + 4'b1000, 4'b1001, 4'b1010: begin + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + data_mem_pkt_cast_o[1-:2] = 2'd1; + data_mem_pkt_v_o = fsm_cmd_v_li; + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + tag_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + tag_mem_pkt_cast_o[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)]; + tag_mem_pkt_cast_o[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - tag_offset_lp)+:tag_width_p]; + tag_mem_pkt_cast_o[2-:3] = 3'd2; + tag_mem_pkt_v_o = fsm_cmd_v_li & |{fsm_cmd_header_li[3-:4] == 4'b1001, fsm_cmd_header_li[3-:4] == 4'b1010}; + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = fsm_cmd_header_li[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + stat_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1) >= 2 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 3 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + stat_mem_pkt_cast_o[1-:2] = 2'd1; + stat_mem_pkt_v_o = fsm_cmd_v_li & (fsm_cmd_header_li[3-:4] == 4'b1010); + state_n = ((data_mem_pkt_yumi_i & (~tag_mem_pkt_v_o | tag_mem_pkt_yumi_i)) & (~stat_mem_pkt_v_o | stat_mem_pkt_yumi_i) ? 4'd3 : state_r); + end + default: state_n = state_r; + endcase + 4'd3: begin + fsm_fill_header_lo[3-:4] = 4'b0100; + fsm_fill_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_cmd_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fill_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = cmd_block_size_lp; + fsm_fill_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))-:((lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) >= (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) ? ((lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))) + 1 : ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) - (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))) + 1)]; + fsm_fill_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))-:((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) >= (lce_id_width_p + (did_width_p + 0)) ? ((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) - (lce_id_width_p + (did_width_p + 0))) + 1 : ((lce_id_width_p + (did_width_p + 0)) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))-:((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) >= (lce_id_width_p + (did_width_p + 0)) ? ((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) - (lce_id_width_p + (did_width_p + 0))) + 1 : ((lce_id_width_p + (did_width_p + 0)) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) + 1)]; + fsm_fill_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))) >= (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))) - (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))))) + 1 : ((lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))) + 1)]; + fsm_fill_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))))) + 1)]; + dirty_data_select = fsm_fill_addr_lo[fill_offset_width_lp+:fill_cnt_width_lp]; + fsm_fill_data_lo = dirty_data_selected; + fsm_fill_v_lo = fsm_fill_ready_then_li & fsm_cmd_v_li; + fsm_cmd_yumi_lo = fsm_fill_v_lo & fsm_fill_last_lo; + state_n = (fsm_cmd_yumi_lo ? (fsm_cmd_header_li[3-:4] == 4'b1010 ? 4'd5 : ((fsm_cmd_header_li[3-:4] == 4'b1001) && (fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] == 3'b000) ? 4'd4 : 4'd2)) : state_r); + end + 4'd4: begin + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = fsm_cmd_header_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_byte_offset_lp)+:lg_sets_lp]; + stat_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1) >= 2 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 3 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))] = fsm_cmd_header_r[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp]; + stat_mem_pkt_cast_o[1-:2] = 2'd2; + stat_mem_pkt_v_o = 1'b1; + state_n = (stat_mem_pkt_yumi_i ? 4'd2 : state_r); + end + 4'd5: begin + fsm_resp_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_cmd_header_r[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_resp_header_lo[3-:4] = (dirty_stat_r[(assoc_p - 1) - ((assoc_p - 1) - fsm_cmd_header_r[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp])] ? 4'b0011 : 4'b0100); + fsm_resp_header_lo[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)] = lce_id_i; + fsm_resp_header_lo[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)] = fsm_cmd_header_r[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))-:((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) >= (lce_id_width_p + (did_width_p + 0)) ? ((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) - (lce_id_width_p + (did_width_p + 0))) + 1 : ((lce_id_width_p + (did_width_p + 0)) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) + 1)]; + fsm_resp_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = (dirty_stat_r[(assoc_p - 1) - ((assoc_p - 1) - fsm_cmd_header_r[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp])] ? cmd_block_size_lp : 3'b000); + dirty_data_select = fsm_resp_addr_lo[fill_offset_width_lp+:fill_cnt_width_lp]; + fsm_resp_data_lo = dirty_data_selected; + fsm_resp_v_lo = fsm_resp_ready_then_li; + state_n = (fsm_resp_v_lo & fsm_resp_last_lo ? (dirty_stat_r[(assoc_p - 1) - ((assoc_p - 1) - fsm_cmd_header_r[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1)))+:lg_assoc_lp])] ? 4'd4 : 4'd2) : state_r); + end + 4'd7: begin + fsm_resp_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_cmd_header_r[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_resp_header_lo[3-:4] = 4'b0010; + fsm_resp_header_lo[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)] = lce_id_i; + fsm_resp_header_lo[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)] = fsm_cmd_header_r[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))-:((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) >= (lce_id_width_p + (did_width_p + 0)) ? ((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) - (lce_id_width_p + (did_width_p + 0))) + 1 : ((lce_id_width_p + (did_width_p + 0)) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) + 1)]; + fsm_resp_v_lo = fsm_resp_ready_then_li; + cache_req_last_o = fsm_resp_v_lo & fsm_resp_last_lo; + cache_req_done_o = fsm_resp_v_lo & fsm_resp_last_lo; + credit_return_o = cache_req_done_o; + state_n = (credit_return_o ? 4'd2 : state_r); + end + default: state_n = 4'd0; + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 4'd0; + else + state_r <= state_n; + initial _sv2v_0 = 0; +endmodule +module bp_me_bedrock_register ( + clk_i, + reset_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i, + r_v_o, + w_v_o, + addr_o, + size_o, + data_o, + data_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + parameter reg_data_width_p = bp_common_pkg_dword_width_gp; + parameter reg_addr_width_p = paddr_width_p; + parameter reg_size_width_p = $clog2({1'b0, (((reg_data_width_p / 8) == 1) || ((reg_data_width_p / 8) == 0) ? 1 : $clog2(reg_data_width_p / 8))} + 1); + parameter els_p = 1; + parameter [(els_p * reg_addr_width_p) - 1:0] base_addr_p = 1'sb0; + input clk_i; + input reset_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + output wire [els_p - 1:0] r_v_o; + output wire [els_p - 1:0] w_v_o; + output wire [reg_addr_width_p - 1:0] addr_o; + output wire [reg_size_width_p - 1:0] size_o; + output wire [reg_data_width_p - 1:0] data_o; + input [(els_p * reg_data_width_p) - 1:0] data_i; + generate + if (reg_data_width_p != 64) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/dev/bp_me_bedrock_register.sv:72:31 - bp_me_bedrock_register.genblk1\n msg: ", "BedRock interface data width must be 64-bits"); + end + endgenerate + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_cast_i; + assign mem_fwd_header_cast_i = mem_fwd_header_i; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_cast_o; + assign mem_rev_header_o = mem_rev_header_cast_o; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_li; + wire [bedrock_fill_width_p - 1:0] mem_fwd_data_li; + wire mem_fwd_v_li; + wire mem_fwd_yumi_li; + bsg_one_fifo #(.width_p((1 * ((((0 + (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2))) + 3) + paddr_width_p) + 8)) + bedrock_fill_width_p)) fwd_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i({mem_fwd_data_i, mem_fwd_header_cast_i}), + .v_i(mem_fwd_v_i), + .ready_and_o(mem_fwd_ready_and_o), + .data_o({mem_fwd_data_li, mem_fwd_header_li}), + .v_o(mem_fwd_v_li), + .yumi_i(mem_fwd_yumi_li) + ); + wire v_r; + wire wr_not_rd = mem_fwd_header_li[3-:4] == 4'b0001; + wire rd_not_wr = mem_fwd_header_li[3-:4] == 4'b0000; + wire v_n = mem_fwd_v_li & ~v_r; + wire [els_p - 1:0] r_v_r; + bsg_dff_reset_set_clear #( + .width_p(1 + els_p), + .clear_over_set_p(1) + ) v_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i({v_n, r_v_o}), + .clear_i({els_p + 1 {mem_fwd_yumi_li}}), + .data_o({v_r, r_v_r}) + ); + wire [reg_data_width_p - 1:0] rdata_lo; + bsg_mux_one_hot #( + .width_p(reg_data_width_p), + .els_p(els_p) + ) rmux_oh( + .data_i(data_i), + .sel_one_hot_i(r_v_r), + .data_o(rdata_lo) + ); + wire [els_p - 1:0] addr_match; + wire reg_write = (mem_fwd_v_li & ~v_r) & wr_not_rd; + wire reg_read = (mem_fwd_v_li & ~v_r) & ~wr_not_rd; + wire [reg_data_width_p - 1:0] reg_data = mem_fwd_data_li; + wire [reg_addr_width_p - 1:0] reg_addr = mem_fwd_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + wire [reg_size_width_p - 1:0] reg_size = mem_fwd_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + genvar _gv_i_59; + generate + for (_gv_i_59 = 0; _gv_i_59 < els_p; _gv_i_59 = _gv_i_59 + 1) begin : abcd + localparam i = _gv_i_59; + assign addr_match[i] = ((base_addr_p[i * reg_addr_width_p+:reg_addr_width_p] ^ (reg_addr ^ reg_addr)) === (reg_addr ^ (base_addr_p[i * reg_addr_width_p+:reg_addr_width_p] ^ base_addr_p[i * reg_addr_width_p+:reg_addr_width_p]))) & ((((reg_addr ^ reg_addr) ^ (base_addr_p[i * reg_addr_width_p+:reg_addr_width_p] ^ base_addr_p[i * reg_addr_width_p+:reg_addr_width_p])) === (base_addr_p[i * reg_addr_width_p+:reg_addr_width_p] ^ base_addr_p[i * reg_addr_width_p+:reg_addr_width_p])) | 1'bx); + end + endgenerate + assign r_v_o = {els_p {reg_read}} & addr_match; + assign w_v_o = {els_p {reg_write}} & addr_match; + assign addr_o = reg_addr; + assign size_o = reg_size; + assign data_o = reg_data; + assign mem_rev_header_cast_o = mem_fwd_header_li; + assign mem_rev_v_o = v_r; + assign mem_fwd_yumi_li = mem_rev_ready_and_i & mem_rev_v_o; + localparam sel_width_lp = (((reg_data_width_p >> 3) == 1) || ((reg_data_width_p >> 3) == 0) ? 1 : $clog2(reg_data_width_p >> 3)); + localparam size_width_lp = ((sel_width_lp == 1) || (sel_width_lp == 0) ? 1 : $clog2(sel_width_lp)); + localparam sv2v_uu_fwd_bus_pack_in_width_p = reg_data_width_p; + localparam sv2v_uu_fwd_bus_pack_unit_width_p = 8; + localparam sv2v_uu_fwd_bus_pack_sel_width_lp = (((sv2v_uu_fwd_bus_pack_in_width_p / sv2v_uu_fwd_bus_pack_unit_width_p) == 1) || ((sv2v_uu_fwd_bus_pack_in_width_p / sv2v_uu_fwd_bus_pack_unit_width_p) == 0) ? 1 : $clog2(sv2v_uu_fwd_bus_pack_in_width_p / 8)); + localparam [sv2v_uu_fwd_bus_pack_sel_width_lp - 1:0] sv2v_uu_fwd_bus_pack_ext_sel_i_0 = 1'sb0; + bsg_bus_pack #( + .in_width_p(reg_data_width_p), + .out_width_p(bedrock_fill_width_p) + ) fwd_bus_pack( + .data_i(rdata_lo), + .sel_i(sv2v_uu_fwd_bus_pack_ext_sel_i_0), + .size_i(mem_rev_header_cast_o[(3 + (paddr_width_p + 7)) - 2+:size_width_lp]), + .data_o(mem_rev_data_o) + ); + always @(negedge clk_i) + ; +endmodule +module bp_me_cache_controller ( + clk_i, + reset_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i, + cache_pkt_o, + cache_pkt_v_o, + cache_pkt_yumi_i, + cache_data_i, + cache_data_v_i, + cache_data_yumi_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cache_pkt_width_lp = ((6 + daddr_width_p) + l2_data_width_p) + (l2_data_width_p >> 3); + input clk_i; + input reset_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + output wire [(l2_banks_p * cache_pkt_width_lp) - 1:0] cache_pkt_o; + output wire [l2_banks_p - 1:0] cache_pkt_v_o; + input [l2_banks_p - 1:0] cache_pkt_yumi_i; + input [(l2_banks_p * l2_data_width_p) - 1:0] cache_data_i; + input [l2_banks_p - 1:0] cache_data_v_i; + output reg [l2_banks_p - 1:0] cache_data_yumi_o; + localparam l2_blocks_per_bank_lp = l2_assoc_p * l2_sets_p; + localparam l2_blocks_lp = l2_banks_p * l2_blocks_per_bank_lp; + localparam lg_l2_banks_lp = ((l2_banks_p == 1) || (l2_banks_p == 0) ? 1 : $clog2(l2_banks_p)); + localparam lg_l2_sets_lp = ((l2_sets_p == 1) || (l2_sets_p == 0) ? 1 : $clog2(l2_sets_p)); + localparam lg_l2_assoc_lp = ((l2_assoc_p == 1) || (l2_assoc_p == 0) ? 1 : $clog2(l2_assoc_p)); + localparam lg_l2_blocks_per_bank_lp = ((l2_blocks_per_bank_lp == 1) || (l2_blocks_per_bank_lp == 0) ? 1 : $clog2(l2_blocks_per_bank_lp)); + localparam lg_l2_blocks_lp = ((l2_blocks_lp == 1) || (l2_blocks_lp == 0) ? 1 : $clog2(l2_blocks_lp)); + localparam l2_block_offset_width_lp = (((l2_block_width_p / 8) == 1) || ((l2_block_width_p / 8) == 0) ? 1 : $clog2(l2_block_width_p / 8)); + localparam data_bytes_lp = l2_data_width_p / 8; + localparam data_byte_offset_width_lp = ((data_bytes_lp == 1) || (data_bytes_lp == 0) ? 1 : $clog2(data_bytes_lp)); + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + reg [(((6 + daddr_width_p) + l2_data_width_p) + (l2_data_width_p >> 3)) - 1:0] cache_pkt; + assign cache_pkt_o = {l2_banks_p {cache_pkt}}; + reg [2:0] state_n; + reg [2:0] state_r; + wire is_reset = state_r == 3'd0; + wire is_flush = state_r == 3'd4; + wire is_clear = state_r == 3'd1; + wire is_drain = state_r == 3'd2; + wire is_ready = state_r == 3'd3; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_fwd_header_li; + wire [l2_data_width_p - 1:0] fsm_fwd_data_li; + wire fsm_fwd_v_li; + reg fsm_fwd_yumi_lo; + wire [paddr_width_p - 1:0] fsm_fwd_addr_li; + wire fsm_fwd_new_li; + wire fsm_fwd_critical_li; + wire fsm_fwd_last_li; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_rev_header_lo; + wire [l2_data_width_p - 1:0] fsm_rev_data_lo; + reg fsm_rev_v_lo; + wire fsm_rev_ready_then_li; + wire [paddr_width_p - 1:0] fsm_rev_addr_lo; + wire fsm_rev_new_lo; + wire fsm_rev_critical_lo; + wire fsm_rev_last_lo; + localparam cache_metadata_fifo_els_lp = 3 * l2_banks_p; + localparam cache_metadata_fifo_width_lp = (1 * ((((0 + (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2))) + 3) + paddr_width_p) + 8)) + lg_l2_banks_lp; + wire [l2_banks_p - 1:0] op_v_lo; + wire [l2_banks_p - 1:0] op_data_lo; + genvar _gv_i_60; + generate + for (_gv_i_60 = 0; _gv_i_60 < l2_banks_p; _gv_i_60 = _gv_i_60 + 1) begin : tag + localparam i = _gv_i_60; + bsg_fifo_1r1w_small #( + .width_p(1), + .ready_THEN_valid_p(1), + .els_p(3) + ) fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(is_ready), + .v_i(cache_pkt_yumi_i[i]), + .ready_param_o(), + .data_o(op_data_lo[i]), + .v_o(op_v_lo[i]), + .yumi_i(cache_data_yumi_o[i]) + ); + end + endgenerate + wire [cache_metadata_fifo_width_lp - 1:0] fsm_fwd_metadata_li; + wire [cache_metadata_fifo_width_lp - 1:0] fsm_rev_metadata_lo; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_stream_pump #( + .bp_params_p(bp_params_p), + .in_data_width_p(l2_data_width_p), + .in_payload_width_p(mem_fwd_payload_width_lp), + .in_msg_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .in_fsm_stream_mask_p(7), + .out_data_width_p(l2_data_width_p), + .out_payload_width_p(mem_rev_payload_width_lp), + .out_msg_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .out_fsm_stream_mask_p(7), + .metadata_fifo_width_p(cache_metadata_fifo_width_lp), + .metadata_fifo_els_p(cache_metadata_fifo_els_lp) + ) stream_pump( + .clk_i(clk_i), + .reset_i(reset_i), + .in_msg_header_i(mem_fwd_header_i), + .in_msg_data_i(mem_fwd_data_i), + .in_msg_v_i(mem_fwd_v_i), + .in_msg_ready_and_o(mem_fwd_ready_and_o), + .in_fsm_header_o(fsm_fwd_header_li), + .in_fsm_data_o(fsm_fwd_data_li), + .in_fsm_v_o(fsm_fwd_v_li), + .in_fsm_yumi_i(fsm_fwd_yumi_lo), + .in_fsm_metadata_i(fsm_fwd_metadata_li), + .in_fsm_addr_o(fsm_fwd_addr_li), + .in_fsm_new_o(fsm_fwd_new_li), + .in_fsm_critical_o(fsm_fwd_critical_li), + .in_fsm_last_o(fsm_fwd_last_li), + .out_msg_header_o(mem_rev_header_o), + .out_msg_data_o(mem_rev_data_o), + .out_msg_v_o(mem_rev_v_o), + .out_msg_ready_and_i(mem_rev_ready_and_i), + .out_fsm_header_i(fsm_rev_header_lo), + .out_fsm_data_i(fsm_rev_data_lo), + .out_fsm_v_i(fsm_rev_v_lo), + .out_fsm_ready_then_o(fsm_rev_ready_then_li), + .out_fsm_metadata_o(fsm_rev_metadata_lo), + .out_fsm_addr_o(fsm_rev_addr_lo), + .out_fsm_new_o(fsm_rev_new_lo), + .out_fsm_critical_o(fsm_rev_critical_lo), + .out_fsm_last_o(fsm_rev_last_lo) + ); + wire [((((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + bp_common_pkg_tile_id_width_gp) + bp_common_pkg_dev_id_width_gp) + bp_common_pkg_dev_addr_width_gp) - 1:0] local_addr_li; + assign local_addr_li = fsm_fwd_addr_li; + localparam bp_common_pkg_dram_base_addr_gp = 40'h0080000000; + function automatic [paddr_width_p - 1:0] sv2v_cast_E112D; + input reg [paddr_width_p - 1:0] inp; + sv2v_cast_E112D = inp; + endfunction + localparam l1c_l2c_base_lp = sv2v_cast_E112D(bp_common_pkg_dram_base_addr_gp); + localparam l1uc_l2c_base_lp = sv2v_cast_E112D(1'b1 << caddr_width_p); + localparam l1uc_l2uc_base_lp = l1c_l2c_base_lp | l1uc_l2c_base_lp; + wire is_uc_op = (local_addr_li >= l1uc_l2c_base_lp) && (local_addr_li < l1uc_l2uc_base_lp); + wire is_word_op = fsm_fwd_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] == 3'b010; + wire [lg_l2_blocks_lp - 1:0] set_cnt; + reg set_clear; + reg set_up; + bsg_counter_clear_up #( + .max_val_p(l2_blocks_lp - 1), + .init_val_p(0) + ) set_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(set_clear), + .up_i(set_up), + .count_o(set_cnt) + ); + wire set_done = set_cnt == (l2_blocks_lp - 1); + wire [lg_l2_banks_lp - 1:0] cnt_bank_lo = set_cnt / l2_blocks_per_bank_lp; + localparam mux_els_lp = data_byte_offset_width_lp + 1; + localparam lg_mux_els_lp = ((mux_els_lp == 1) || (mux_els_lp == 0) ? 1 : $clog2(mux_els_lp)); + wire [(mux_els_lp * data_bytes_lp) - 1:0] cache_pkt_mask_mux_li; + genvar _gv_i_61; + generate + for (_gv_i_61 = 0; _gv_i_61 < mux_els_lp; _gv_i_61 = _gv_i_61 + 1) begin : cache_pkt_sel + localparam i = _gv_i_61; + localparam slice_width_bytes_lp = 2 ** i; + localparam slice_width_lp = slice_width_bytes_lp << 3; + localparam num_slices_lp = l2_data_width_p / slice_width_lp; + localparam lg_num_slices_lp = ((num_slices_lp == 1) || (num_slices_lp == 0) ? 1 : $clog2(num_slices_lp)); + if (i == (mux_els_lp - 1)) begin : max_size + assign cache_pkt_mask_mux_li[i * data_bytes_lp+:data_bytes_lp] = {data_bytes_lp {1'b1}}; + end + else begin : non_max_size + wire [lg_num_slices_lp - 1:0] slice_index = fsm_fwd_addr_li[i+:lg_num_slices_lp]; + wire [num_slices_lp - 1:0] decoded_slice_index = 1'b1 << slice_index; + bsg_expand_bitmask #( + .in_width_p(num_slices_lp), + .expand_p(slice_width_bytes_lp) + ) mask_expand( + .i(decoded_slice_index), + .o(cache_pkt_mask_mux_li[i * data_bytes_lp+:data_bytes_lp]) + ); + end + end + endgenerate + wire [data_bytes_lp - 1:0] cache_pkt_mask_lo; + function automatic signed [lg_mux_els_lp - 1:0] sv2v_cast_0E6DA_signed; + input reg signed [lg_mux_els_lp - 1:0] inp; + sv2v_cast_0E6DA_signed = inp; + endfunction + wire [lg_mux_els_lp - 1:0] cache_pkt_sel_li = ((1'b1 << fsm_fwd_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) > data_bytes_lp ? sv2v_cast_0E6DA_signed(mux_els_lp - 1) : fsm_fwd_header_li[(3 + (paddr_width_p + 7)) - 2+:lg_mux_els_lp]); + bsg_mux #( + .width_p(data_bytes_lp), + .els_p(mux_els_lp) + ) cache_pkt_mask_mux( + .data_i(cache_pkt_mask_mux_li), + .sel_i(cache_pkt_sel_li), + .data_o(cache_pkt_mask_lo) + ); + wire fwd_pkt_dram_lo; + wire [daddr_width_p - 1:0] fwd_pkt_daddr_lo; + wire [l2_data_width_p - 1:0] fwd_pkt_data_lo; + wire [lg_l2_banks_lp - 1:0] fwd_pkt_bank_lo; + bp_me_dram_hash_encode #(.bp_params_p(bp_params_p)) bank_select( + .paddr_i(fsm_fwd_addr_li), + .data_i(fsm_fwd_data_li), + .dram_o(fwd_pkt_dram_lo), + .daddr_o(fwd_pkt_daddr_lo), + .bank_o(fwd_pkt_bank_lo), + .data_o(fwd_pkt_data_lo), + .slice_o() + ); + reg cache_pkt_v_lo; + wire [lg_l2_banks_lp - 1:0] cache_fwd_bank_lo = (is_clear ? cnt_bank_lo : fwd_pkt_bank_lo); + bsg_decode_with_v #(.num_out_p(l2_banks_p)) decode( + .i(cache_fwd_bank_lo), + .v_i(cache_pkt_v_lo), + .o(cache_pkt_v_o) + ); + wire cache_pkt_yumi_li = fsm_fwd_v_li & cache_pkt_yumi_i[cache_fwd_bank_lo]; + wire [lg_l2_banks_lp - 1:0] cache_rev_bank_lo; + assign fsm_fwd_metadata_li = {fwd_pkt_bank_lo, fsm_fwd_header_li}; + assign {cache_rev_bank_lo, fsm_rev_header_lo} = fsm_rev_metadata_lo; + localparam bus_pack_size_width_lp = $clog2({1'b0, data_byte_offset_width_lp} + 1); + wire [bus_pack_size_width_lp - 1:0] fsm_rev_size_li = ((1'b1 << fsm_rev_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) > data_bytes_lp ? data_byte_offset_width_lp : fsm_rev_header_lo[(3 + (paddr_width_p + 7)) - 2+:bus_pack_size_width_lp]); + wire [l2_data_width_p - 1:0] cache_data_li; + bsg_mux #( + .width_p(l2_data_width_p), + .els_p(l2_banks_p) + ) resp_bank_sel( + .data_i(cache_data_i), + .sel_i(cache_rev_bank_lo), + .data_o(cache_data_li) + ); + localparam sv2v_uu_mem_rev_data_bus_pack_in_width_p = l2_data_width_p; + localparam sv2v_uu_mem_rev_data_bus_pack_unit_width_p = 8; + localparam sv2v_uu_mem_rev_data_bus_pack_sel_width_lp = (((sv2v_uu_mem_rev_data_bus_pack_in_width_p / sv2v_uu_mem_rev_data_bus_pack_unit_width_p) == 1) || ((sv2v_uu_mem_rev_data_bus_pack_in_width_p / sv2v_uu_mem_rev_data_bus_pack_unit_width_p) == 0) ? 1 : $clog2(sv2v_uu_mem_rev_data_bus_pack_in_width_p / 8)); + localparam [sv2v_uu_mem_rev_data_bus_pack_sel_width_lp - 1:0] sv2v_uu_mem_rev_data_bus_pack_ext_sel_i_0 = 1'sb0; + bsg_bus_pack #(.in_width_p(l2_data_width_p)) mem_rev_data_bus_pack( + .data_i(cache_data_li), + .sel_i(sv2v_uu_mem_rev_data_bus_pack_ext_sel_i_0), + .size_i(fsm_rev_size_li), + .data_o(fsm_rev_data_lo) + ); + localparam bp_common_pkg_cache_afl_match_addr_gp = 20'b00000000000000000000; + localparam bp_common_pkg_cache_aflinv_match_addr_gp = 20'b00000000000000001000; + localparam bp_common_pkg_cache_ainv_match_addr_gp = 20'b00000000000000010000; + localparam bp_common_pkg_cache_alock_match_addr_gp = 20'b00000000000000011000; + localparam bp_common_pkg_cache_tagfl_match_addr_gp = 20'bzzzzzzzzzzzzzz100000; + localparam bp_common_pkg_cache_tagla_match_addr_gp = 20'bzzzzzzzzzzzzzz110000; + localparam bp_common_pkg_cache_taglv_match_addr_gp = 20'bzzzzzzzzzzzzzz101000; + localparam bp_common_pkg_cache_tagst_match_addr_gp = 20'bzzzzzzzzzzzzzz111000; + always @(*) begin + if (_sv2v_0) + ; + cache_pkt = 1'sb0; + cache_pkt_v_lo = 1'sb0; + cache_data_yumi_o = 1'sb0; + fsm_fwd_yumi_lo = 1'b0; + fsm_rev_v_lo = 1'b0; + set_clear = 1'b0; + set_up = 1'b0; + state_n = state_r; + (* full_case, parallel_case *) + case (state_r) + 3'd0: state_n = 3'd1; + 3'd1: begin + cache_pkt_v_lo = 1'b1; + cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b010000; + cache_pkt[daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))-:((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))) >= (l2_data_width_p + ((l2_data_width_p >> 3) + 0)) ? ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))) - (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) + 1 : ((l2_data_width_p + ((l2_data_width_p >> 3) + 0)) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) + 1)] = set_cnt << l2_block_offset_width_lp; + cache_pkt[l2_data_width_p + ((l2_data_width_p >> 3) - 1)-:((l2_data_width_p + ((l2_data_width_p >> 3) - 1)) >= ((l2_data_width_p >> 3) + 0) ? ((l2_data_width_p + ((l2_data_width_p >> 3) - 1)) - ((l2_data_width_p >> 3) + 0)) + 1 : (((l2_data_width_p >> 3) + 0) - (l2_data_width_p + ((l2_data_width_p >> 3) - 1))) + 1)] = 1'sb0; + cache_pkt[(l2_data_width_p >> 3) - 1-:l2_data_width_p >> 3] = 1'sb0; + set_up = ~set_done; + set_clear = set_done & |cache_pkt_yumi_i; + cache_data_yumi_o = cache_data_v_i; + state_n = (set_clear ? 3'd2 : 3'd1); + end + 3'd2: begin + cache_data_yumi_o = cache_data_v_i; + state_n = (fsm_rev_ready_then_li | cache_data_v_i ? 3'd2 : 3'd3); + end + 3'd3: begin + if (!fwd_pkt_dram_lo) + (* full_case, parallel_case *) + casez (local_addr_li[19-:bp_common_pkg_dev_addr_width_gp]) + bp_common_pkg_cache_tagfl_match_addr_gp: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b010001; + bp_common_pkg_cache_taglv_match_addr_gp: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b010010; + bp_common_pkg_cache_tagla_match_addr_gp: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b010011; + bp_common_pkg_cache_tagst_match_addr_gp: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b010000; + bp_common_pkg_cache_afl_match_addr_gp: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b011000; + bp_common_pkg_cache_aflinv_match_addr_gp: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b011001; + bp_common_pkg_cache_ainv_match_addr_gp: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b011010; + bp_common_pkg_cache_alock_match_addr_gp: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (fwd_pkt_data_lo[0] ? 6'b011011 : 6'b011100); + default: + ; + endcase + else + (* full_case, parallel_case *) + casez (fsm_fwd_header_li[3-:4]) + 4'b0000: + case (fsm_fwd_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) + 3'b000: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b000000; + 3'b001: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b000001; + 3'b010: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b000010; + 3'b011: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b000011; + default: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b001100; + endcase + 4'b0001, 4'b0010: + case (fsm_fwd_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) + 3'b000: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b001000; + 3'b001: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b001001; + 3'b010, 3'b011: + case (fsm_fwd_header_li[7-:4]) + 4'b0000: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b001010 : 6'b001011); + 4'b0011: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b100000 : 6'b110000); + 4'b0100: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b100001 : 6'b110001); + 4'b0101: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b100010 : 6'b110010); + 4'b0110: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b100011 : 6'b110011); + 4'b0111: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b100100 : 6'b110100); + 4'b1000: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b100101 : 6'b110101); + 4'b1001: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b100110 : 6'b110110); + 4'b1010: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b100111 : 6'b110111); + 4'b1011: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = (is_word_op ? 6'b101000 : 6'b111000); + default: + ; + endcase + default: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b001101; + endcase + default: cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b000000; + endcase + cache_pkt[daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))-:((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))) >= (l2_data_width_p + ((l2_data_width_p >> 3) + 0)) ? ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))) - (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) + 1 : ((l2_data_width_p + ((l2_data_width_p >> 3) + 0)) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) + 1)] = fwd_pkt_daddr_lo; + cache_pkt[l2_data_width_p + ((l2_data_width_p >> 3) - 1)-:((l2_data_width_p + ((l2_data_width_p >> 3) - 1)) >= ((l2_data_width_p >> 3) + 0) ? ((l2_data_width_p + ((l2_data_width_p >> 3) - 1)) - ((l2_data_width_p >> 3) + 0)) + 1 : (((l2_data_width_p >> 3) + 0) - (l2_data_width_p + ((l2_data_width_p >> 3) - 1))) + 1)] = fwd_pkt_data_lo; + cache_pkt[(l2_data_width_p >> 3) - 1-:l2_data_width_p >> 3] = cache_pkt_mask_lo; + if (is_uc_op) begin + cache_pkt_v_lo = fsm_fwd_v_li; + fsm_fwd_yumi_lo = cache_pkt_yumi_li & ~fsm_fwd_last_li; + state_n = ((fsm_fwd_v_li & fsm_fwd_last_li) & cache_pkt_yumi_li ? 3'd4 : state_r); + end + else begin + cache_pkt_v_lo = fsm_fwd_v_li; + fsm_fwd_yumi_lo = cache_pkt_yumi_li; + end + end + 3'd4: begin + cache_pkt_v_lo = fsm_fwd_v_li; + cache_pkt[6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))-:((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) >= (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) ? ((6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0)))) + 1 : ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) - (6 + (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))))) + 1)] = 6'b011001; + cache_pkt[daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))-:((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))) >= (l2_data_width_p + ((l2_data_width_p >> 3) + 0)) ? ((daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1))) - (l2_data_width_p + ((l2_data_width_p >> 3) + 0))) + 1 : ((l2_data_width_p + ((l2_data_width_p >> 3) + 0)) - (daddr_width_p + (l2_data_width_p + ((l2_data_width_p >> 3) - 1)))) + 1)] = fwd_pkt_daddr_lo; + cache_pkt[l2_data_width_p + ((l2_data_width_p >> 3) - 1)-:((l2_data_width_p + ((l2_data_width_p >> 3) - 1)) >= ((l2_data_width_p >> 3) + 0) ? ((l2_data_width_p + ((l2_data_width_p >> 3) - 1)) - ((l2_data_width_p >> 3) + 0)) + 1 : (((l2_data_width_p >> 3) + 0) - (l2_data_width_p + ((l2_data_width_p >> 3) - 1))) + 1)] = fwd_pkt_data_lo; + cache_pkt[(l2_data_width_p >> 3) - 1-:l2_data_width_p >> 3] = cache_pkt_mask_lo; + fsm_fwd_yumi_lo = cache_pkt_yumi_li; + state_n = (fsm_fwd_yumi_lo ? 3'd2 : state_r); + end + default: + ; + endcase + begin : sv2v_autoblock_1 + reg signed [31:0] i; + for (i = 0; i < l2_banks_p; i = i + 1) + if ((op_v_lo[i] & op_data_lo[i]) & (i == cache_rev_bank_lo)) begin + fsm_rev_v_lo = fsm_rev_ready_then_li & cache_data_v_i[i]; + cache_data_yumi_o[i] = fsm_rev_v_lo; + end + else if (op_v_lo[i] & ~op_data_lo[i]) + cache_data_yumi_o[i] = cache_data_v_i[i]; + end + end + always @(posedge clk_i) + if (reset_i) + state_r <= 3'd0; + else + state_r <= state_n; + always @(negedge clk_i) + ; + generate + if (!((((1 << $clog2(l2_data_width_p)) == l2_data_width_p) || (l2_data_width_p < 64)) || (l2_data_width_p > 512))) begin : genblk3 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/dev/bp_me_cache_controller.sv:483:5 - bp_me_cache_controller.genblk3\n msg: ", "L2 data width must be 64, 128, 256, or 512"); + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bp_me_dram_hash_decode ( + daddr_i, + daddr_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lg_num_cce_lp = ((num_cce_p == 1) || (num_cce_p == 0) ? 1 : $clog2(num_cce_p)); + localparam lg_l2_slices_lp = ((l2_slices_p == 1) || (l2_slices_p == 0) ? 1 : $clog2(l2_slices_p)); + localparam lg_l2_banks_lp = ((l2_banks_p == 1) || (l2_banks_p == 0) ? 1 : $clog2(l2_banks_p)); + localparam lg_l2_sets_lp = ((l2_sets_p == 1) || (l2_sets_p == 0) ? 1 : $clog2(l2_sets_p)); + input [daddr_width_p - 1:0] daddr_i; + output wire [daddr_width_p - 1:0] daddr_o; + localparam l2_block_offset_width_lp = (((l2_block_width_p / 8) == 1) || ((l2_block_width_p / 8) == 0) ? 1 : $clog2(l2_block_width_p / 8)); + localparam l2_set_index_width_lp = (l2_sets_p > 1 ? lg_l2_sets_lp : 0); + localparam l2_bank_index_width_lp = (l2_banks_p > 1 ? lg_l2_banks_lp : 0); + localparam l2_slice_index_width_lp = (l2_slices_p > 1 ? lg_l2_slices_lp : 0); + localparam l2_cce_index_width_lp = (num_cce_p > 1 ? lg_num_cce_lp : 0); + localparam l2_set_offset_lp = l2_block_offset_width_lp; + localparam l2_cce_offset_lp = l2_set_offset_lp + l2_set_index_width_lp; + localparam l2_slice_offset_lp = l2_cce_offset_lp + l2_cce_index_width_lp; + localparam l2_bank_offset_lp = l2_slice_offset_lp + l2_slice_index_width_lp; + localparam l2_tag_offset_lp = l2_bank_offset_lp + l2_bank_index_width_lp; + localparam l2_tag_width_lp = daddr_width_p - l2_tag_offset_lp; + wire [l2_block_offset_width_lp - 1:0] block = daddr_i[0+:l2_block_offset_width_lp]; + wire [lg_l2_sets_lp - 1:0] set = daddr_i[l2_set_offset_lp+:lg_l2_sets_lp]; + wire [lg_num_cce_lp - 1:0] cce = daddr_i[l2_cce_offset_lp+:lg_num_cce_lp]; + wire [lg_l2_slices_lp - 1:0] slice = daddr_i[l2_slice_offset_lp+:lg_l2_slices_lp]; + wire [lg_l2_banks_lp - 1:0] bank = daddr_i[l2_bank_offset_lp+:lg_l2_banks_lp]; + wire [l2_tag_width_lp - 1:0] tag = daddr_i[l2_tag_offset_lp+:l2_tag_width_lp]; + wire [daddr_width_p - 1:0] addr; + assign addr[l2_tag_offset_lp+:l2_tag_width_lp] = tag; + assign addr[0+:l2_block_offset_width_lp] = block; + generate + if (num_cce_p > 1) begin : genblk1 + assign addr[l2_cce_offset_lp+:lg_num_cce_lp] = cce; + end + if (l2_slices_p > 1) begin : genblk2 + assign addr[l2_slice_offset_lp+:lg_l2_slices_lp] = slice; + end + if (l2_banks_p > 1) begin : genblk3 + assign addr[l2_bank_offset_lp+:lg_l2_banks_lp] = bank; + end + if (l2_sets_p > 1) begin : genblk4 + assign addr[l2_set_offset_lp+:lg_l2_sets_lp] = set; + end + endgenerate + assign daddr_o = addr; +endmodule +module bp_me_dram_hash_encode ( + paddr_i, + data_i, + dram_o, + daddr_o, + slice_o, + bank_o, + data_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lg_num_cce_lp = ((num_cce_p == 1) || (num_cce_p == 0) ? 1 : $clog2(num_cce_p)); + localparam lg_l2_slices_lp = ((l2_slices_p == 1) || (l2_slices_p == 0) ? 1 : $clog2(l2_slices_p)); + localparam lg_l2_banks_lp = ((l2_banks_p == 1) || (l2_banks_p == 0) ? 1 : $clog2(l2_banks_p)); + localparam lg_l2_sets_lp = ((l2_sets_p == 1) || (l2_sets_p == 0) ? 1 : $clog2(l2_sets_p)); + input [paddr_width_p - 1:0] paddr_i; + input [bedrock_fill_width_p - 1:0] data_i; + output wire dram_o; + output wire [daddr_width_p - 1:0] daddr_o; + output wire [lg_l2_slices_lp - 1:0] slice_o; + output wire [lg_l2_banks_lp - 1:0] bank_o; + output wire [l2_data_width_p - 1:0] data_o; + wire [19:0] tag_addr_li; + assign tag_addr_li = paddr_i; + localparam bp_common_pkg_dram_base_addr_gp = 40'h0080000000; + wire is_dram_addr = paddr_i >= bp_common_pkg_dram_base_addr_gp; + wire is_csr_addr = paddr_i < bp_common_pkg_dram_base_addr_gp; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_cache_tagop_match_addr_gp = 20'bzzzzzzzzzzzzzz1zzzzz; + wire is_tag_op = is_csr_addr & ((paddr_i[0+:bp_common_pkg_dev_addr_width_gp] | 20'b11111111111111011111) == 20'b11111111111111111111); + localparam bp_common_pkg_cache_alock_match_addr_gp = 20'b00000000000000011000; + wire is_lock_op = is_csr_addr & (paddr_i[0+:bp_common_pkg_dev_addr_width_gp] == bp_common_pkg_cache_alock_match_addr_gp); + localparam bp_common_pkg_cache_addrop_match_addr_gp = 20'bzzzzzzzzzzzzzz0zzzzz; + wire is_addr_op = is_csr_addr & ((paddr_i[0+:bp_common_pkg_dev_addr_width_gp] | 20'b11111111111111011111) == 20'b11111111111111011111); + localparam l2_block_offset_width_lp = (((l2_block_width_p / 8) == 1) || ((l2_block_width_p / 8) == 0) ? 1 : $clog2(l2_block_width_p / 8)); + localparam l2_set_index_width_lp = (l2_sets_p > 1 ? lg_l2_sets_lp : 0); + localparam l2_bank_index_width_lp = (l2_banks_p > 1 ? lg_l2_banks_lp : 0); + localparam l2_slice_index_width_lp = (l2_slices_p > 1 ? lg_l2_slices_lp : 0); + localparam l2_cce_index_width_lp = (num_cce_p > 1 ? lg_num_cce_lp : 0); + localparam l2_cce_offset_lp = l2_block_offset_width_lp; + localparam l2_slice_offset_lp = l2_cce_offset_lp + l2_cce_index_width_lp; + localparam l2_bank_offset_lp = l2_slice_offset_lp + l2_slice_index_width_lp; + localparam l2_set_offset_lp = l2_bank_offset_lp + l2_bank_index_width_lp; + localparam l2_tag_offset_lp = l2_set_offset_lp + l2_set_index_width_lp; + localparam l2_tag_width_lp = daddr_width_p - l2_tag_offset_lp; + wire [daddr_width_p - 1:0] tag_addr = {tag_addr_li[16-:3], tag_addr_li[13-:8]} << l2_block_offset_width_lp; + wire [daddr_width_p - 1:0] daddr = (is_tag_op ? tag_addr : (is_addr_op ? data_i : paddr_i)); + wire [l2_block_offset_width_lp - 1:0] block = daddr[0+:l2_block_offset_width_lp]; + wire [lg_num_cce_lp - 1:0] cce = daddr[l2_cce_offset_lp+:lg_num_cce_lp]; + wire [lg_l2_slices_lp - 1:0] slice = daddr[l2_slice_offset_lp+:lg_l2_slices_lp]; + wire [lg_l2_banks_lp - 1:0] bank = daddr[l2_bank_offset_lp+:lg_l2_banks_lp]; + wire [lg_l2_sets_lp - 1:0] set = daddr[l2_set_offset_lp+:lg_l2_sets_lp]; + wire [l2_tag_width_lp - 1:0] tag = daddr[l2_tag_offset_lp+:l2_tag_width_lp]; + wire [daddr_width_p - 1:0] addr; + assign addr[l2_tag_offset_lp+:l2_tag_width_lp] = tag; + assign addr[0+:l2_block_offset_width_lp] = block; + generate + if (num_cce_p > 1) begin : genblk1 + assign addr[l2_cce_offset_lp+:lg_num_cce_lp] = cce; + end + if (l2_slices_p > 1) begin : genblk2 + assign addr[l2_slice_offset_lp+:lg_l2_slices_lp] = slice; + end + if (l2_banks_p > 1) begin : genblk3 + assign addr[l2_bank_offset_lp+:lg_l2_banks_lp] = bank; + end + if (l2_sets_p > 1) begin : genblk4 + assign addr[l2_set_offset_lp+:lg_l2_sets_lp] = set; + end + endgenerate + localparam bp_common_pkg_dev_id_width_gp = 4; + wire [3:0] tag_dev = paddr_i[bp_common_pkg_dev_addr_width_gp+:bp_common_pkg_dev_id_width_gp]; + localparam bp_common_pkg_cache_dev_gp = 4; + wire [lg_l2_slices_lp - 1:0] tag_slice = tag_dev - bp_common_pkg_cache_dev_gp; + assign dram_o = is_dram_addr; + assign daddr_o = (is_tag_op ? tag_addr : addr); + assign slice_o = (l2_slices_p > 1 ? (is_tag_op ? tag_slice : slice) : {lg_l2_slices_lp {1'sb0}}); + assign bank_o = (l2_banks_p > 1 ? (is_tag_op ? tag_addr_li[19-:3] : bank) : {lg_l2_banks_lp {1'sb0}}); + assign data_o = data_i; +endmodule +module bp_me_cache_slice ( + clk_i, + reset_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i, + dma_pkt_o, + dma_pkt_v_o, + dma_pkt_ready_and_i, + dma_data_i, + dma_data_v_i, + dma_data_ready_and_o, + dma_data_o, + dma_data_v_o, + dma_data_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam dma_pkt_width_lp = (1 + daddr_width_p) + l2_block_size_in_words_p; + input clk_i; + input reset_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + output wire [(l2_banks_p * dma_pkt_width_lp) - 1:0] dma_pkt_o; + output wire [l2_banks_p - 1:0] dma_pkt_v_o; + input [l2_banks_p - 1:0] dma_pkt_ready_and_i; + input [(l2_banks_p * l2_fill_width_p) - 1:0] dma_data_i; + input [l2_banks_p - 1:0] dma_data_v_i; + output wire [l2_banks_p - 1:0] dma_data_ready_and_o; + output wire [(l2_banks_p * l2_fill_width_p) - 1:0] dma_data_o; + output wire [l2_banks_p - 1:0] dma_data_v_o; + input [l2_banks_p - 1:0] dma_data_ready_and_i; + wire [(l2_banks_p * (((6 + daddr_width_p) + l2_data_width_p) + (l2_data_width_p >> 3))) - 1:0] cache_pkt_li; + wire [l2_banks_p - 1:0] cache_pkt_v_li; + wire [l2_banks_p - 1:0] cache_pkt_yumi_lo; + wire [(l2_banks_p * l2_data_width_p) - 1:0] cache_data_lo; + wire [l2_banks_p - 1:0] cache_data_v_lo; + wire [l2_banks_p - 1:0] cache_data_yumi_li; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_li; + wire [bedrock_fill_width_p - 1:0] mem_fwd_data_li; + wire mem_fwd_v_li; + wire mem_fwd_ready_and_lo; + bsg_fifo_1r1w_small #( + .width_p((1 * ((((0 + (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2))) + 3) + paddr_width_p) + 8)) + bedrock_fill_width_p), + .els_p((2 > (bedrock_block_width_p / bedrock_fill_width_p) ? 2 : bedrock_block_width_p / bedrock_fill_width_p)) + ) fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i({mem_fwd_data_i, mem_fwd_header_i}), + .v_i(mem_fwd_v_i), + .ready_param_o(mem_fwd_ready_and_o), + .data_o({mem_fwd_data_li, mem_fwd_header_li}), + .v_o(mem_fwd_v_li), + .yumi_i(mem_fwd_ready_and_lo & mem_fwd_v_li) + ); + bp_me_cache_controller #(.bp_params_p(bp_params_p)) cache_controller( + .clk_i(clk_i), + .reset_i(reset_i), + .mem_fwd_header_i(mem_fwd_header_li), + .mem_fwd_data_i(mem_fwd_data_li), + .mem_fwd_v_i(mem_fwd_v_li), + .mem_fwd_ready_and_o(mem_fwd_ready_and_lo), + .mem_rev_header_o(mem_rev_header_o), + .mem_rev_data_o(mem_rev_data_o), + .mem_rev_v_o(mem_rev_v_o), + .mem_rev_ready_and_i(mem_rev_ready_and_i), + .cache_pkt_o(cache_pkt_li), + .cache_pkt_v_o(cache_pkt_v_li), + .cache_pkt_yumi_i(cache_pkt_yumi_lo), + .cache_data_i(cache_data_lo), + .cache_data_v_i(cache_data_v_lo), + .cache_data_yumi_o(cache_data_yumi_li) + ); + wire [(l2_banks_p * ((1 + daddr_width_p) + l2_block_size_in_words_p)) - 1:0] dma_pkt_lo; + wire [(l2_banks_p * ((1 + daddr_width_p) + l2_block_size_in_words_p)) - 1:0] dma_pkt_cast_o; + genvar _gv_i_62; + generate + for (_gv_i_62 = 0; _gv_i_62 < l2_banks_p; _gv_i_62 = _gv_i_62 + 1) begin : bank + localparam i = _gv_i_62; + bsg_cache #( + .addr_width_p(daddr_width_p), + .data_width_p(l2_data_width_p), + .dma_data_width_p(l2_fill_width_p), + .block_size_in_words_p(l2_block_size_in_words_p), + .sets_p(l2_sets_p), + .ways_p(l2_assoc_p), + .amo_support_p(((((((((l2_features_p[4'b0101] << 4'b0000) | (l2_features_p[4'b0110] << 4'b0010)) | (l2_features_p[4'b0110] << 4'b0011)) | (l2_features_p[4'b0110] << 4'b0100)) | (l2_features_p[4'b0111] << 4'b0001)) | (l2_features_p[4'b0111] << 4'b0101)) | (l2_features_p[4'b0111] << 4'b0110)) | (l2_features_p[4'b0111] << 4'b0111)) | (l2_features_p[4'b0111] << 4'b1000)), + .word_tracking_p(l2_features_p[4'b0011]) + ) cache( + .clk_i(clk_i), + .reset_i(reset_i), + .cache_pkt_i(cache_pkt_li[i * (((6 + daddr_width_p) + l2_data_width_p) + (l2_data_width_p >> 3))+:((6 + daddr_width_p) + l2_data_width_p) + (l2_data_width_p >> 3)]), + .v_i(cache_pkt_v_li[i]), + .yumi_o(cache_pkt_yumi_lo[i]), + .data_o(cache_data_lo[i * l2_data_width_p+:l2_data_width_p]), + .v_o(cache_data_v_lo[i]), + .yumi_i(cache_data_yumi_li[i]), + .dma_pkt_o(dma_pkt_lo[i * ((1 + daddr_width_p) + l2_block_size_in_words_p)+:(1 + daddr_width_p) + l2_block_size_in_words_p]), + .dma_pkt_v_o(dma_pkt_v_o[i]), + .dma_pkt_yumi_i(dma_pkt_ready_and_i[i] & dma_pkt_v_o[i]), + .dma_data_i(dma_data_i[i * l2_fill_width_p+:l2_fill_width_p]), + .dma_data_v_i(dma_data_v_i[i]), + .dma_data_ready_and_o(dma_data_ready_and_o[i]), + .dma_data_o(dma_data_o[i * l2_fill_width_p+:l2_fill_width_p]), + .dma_data_v_o(dma_data_v_o[i]), + .dma_data_yumi_i(dma_data_ready_and_i[i] & dma_data_v_o[i]), + .v_we_o() + ); + bp_me_dram_hash_decode #(.bp_params_p(bp_params_p)) dma_addr_hash_decode( + .daddr_i(dma_pkt_lo[(i * ((1 + daddr_width_p) + l2_block_size_in_words_p)) + (daddr_width_p + (l2_block_size_in_words_p - 1))-:((daddr_width_p + (l2_block_size_in_words_p - 1)) >= (l2_block_size_in_words_p + 0) ? ((daddr_width_p + (l2_block_size_in_words_p - 1)) - (l2_block_size_in_words_p + 0)) + 1 : ((l2_block_size_in_words_p + 0) - (daddr_width_p + (l2_block_size_in_words_p - 1))) + 1)]), + .daddr_o(dma_pkt_cast_o[(i * ((1 + daddr_width_p) + l2_block_size_in_words_p)) + (daddr_width_p + (l2_block_size_in_words_p - 1))-:((daddr_width_p + (l2_block_size_in_words_p - 1)) >= (l2_block_size_in_words_p + 0) ? ((daddr_width_p + (l2_block_size_in_words_p - 1)) - (l2_block_size_in_words_p + 0)) + 1 : ((l2_block_size_in_words_p + 0) - (daddr_width_p + (l2_block_size_in_words_p - 1))) + 1)]) + ); + assign dma_pkt_cast_o[(i * ((1 + daddr_width_p) + l2_block_size_in_words_p)) + (1 + (daddr_width_p + (l2_block_size_in_words_p - 1)))] = dma_pkt_lo[(i * ((1 + daddr_width_p) + l2_block_size_in_words_p)) + (1 + (daddr_width_p + (l2_block_size_in_words_p - 1)))]; + assign dma_pkt_cast_o[(i * ((1 + daddr_width_p) + l2_block_size_in_words_p)) + (l2_block_size_in_words_p - 1)-:l2_block_size_in_words_p] = dma_pkt_lo[(i * ((1 + daddr_width_p) + l2_block_size_in_words_p)) + (l2_block_size_in_words_p - 1)-:l2_block_size_in_words_p]; + assign dma_pkt_o[i * dma_pkt_width_lp+:dma_pkt_width_lp] = dma_pkt_cast_o[i * ((1 + daddr_width_p) + l2_block_size_in_words_p)+:(1 + daddr_width_p) + l2_block_size_in_words_p]; + end + endgenerate +endmodule +module bp_me_cfg_slice ( + clk_i, + reset_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i, + cfg_bus_o, + did_i, + host_did_i, + cord_i, + cce_ucode_v_o, + cce_ucode_w_o, + cce_ucode_addr_o, + cce_ucode_data_o, + cce_ucode_data_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + output wire [cfg_bus_width_lp - 1:0] cfg_bus_o; + input [did_width_p - 1:0] did_i; + input [did_width_p - 1:0] host_did_i; + input [coh_noc_cord_width_p - 1:0] cord_i; + output wire cce_ucode_v_o; + output wire cce_ucode_w_o; + output wire [cce_pc_width_p - 1:0] cce_ucode_addr_o; + localparam bp_me_pkg_cce_instr_width_gp = 34; + output wire [33:0] cce_ucode_data_o; + input [33:0] cce_ucode_data_i; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_o; + assign cfg_bus_o = cfg_bus_cast_o; + localparam reg_els_lp = 10; + wire cord_r_v_li; + wire did_r_v_li; + wire host_did_r_v_li; + wire hio_mask_r_v_li; + wire cord_w_v_li; + wire did_w_v_li; + wire host_did_w_v_li; + wire hio_mask_w_v_li; + wire cce_ucode_r_v_li; + wire cce_mode_r_v_li; + wire dcache_mode_r_v_li; + wire icache_mode_r_v_li; + wire npc_r_v_li; + wire freeze_r_v_li; + wire cce_ucode_w_v_li; + wire cce_mode_w_v_li; + wire dcache_mode_w_v_li; + wire icache_mode_w_v_li; + wire npc_w_v_li; + wire freeze_w_v_li; + localparam bp_common_pkg_dev_addr_width_gp = 20; + wire [19:0] addr_lo; + wire [63:0] data_lo; + wire [639:0] data_li; + localparam bp_common_pkg_cfg_mem_cce_ucode_match_gp = 20'h08zzz; + localparam bp_common_pkg_cfg_reg_cce_mode_gp = 20'h00608; + localparam bp_common_pkg_cfg_reg_cord_gp = 20'h00028; + localparam bp_common_pkg_cfg_reg_dcache_mode_gp = 20'h00408; + localparam bp_common_pkg_cfg_reg_did_gp = 20'h00020; + localparam bp_common_pkg_cfg_reg_freeze_gp = 20'h00008; + localparam bp_common_pkg_cfg_reg_hio_mask_gp = 20'h00038; + localparam bp_common_pkg_cfg_reg_host_did_gp = 20'h00030; + localparam bp_common_pkg_cfg_reg_icache_mode_gp = 20'h00208; + localparam bp_common_pkg_cfg_reg_npc_gp = 20'h00010; + bp_me_bedrock_register #( + .bp_params_p(bp_params_p), + .reg_data_width_p(bp_common_pkg_dword_width_gp), + .reg_addr_width_p(bp_common_pkg_dev_addr_width_gp), + .els_p(reg_els_lp), + .base_addr_p({bp_common_pkg_cfg_reg_cord_gp, bp_common_pkg_cfg_reg_did_gp, bp_common_pkg_cfg_reg_host_did_gp, bp_common_pkg_cfg_reg_hio_mask_gp, bp_common_pkg_cfg_reg_cce_mode_gp, bp_common_pkg_cfg_reg_dcache_mode_gp, bp_common_pkg_cfg_reg_icache_mode_gp, bp_common_pkg_cfg_mem_cce_ucode_match_gp, bp_common_pkg_cfg_reg_npc_gp, bp_common_pkg_cfg_reg_freeze_gp}) + ) cfgs_register( + .clk_i(clk_i), + .reset_i(reset_i), + .mem_fwd_header_i(mem_fwd_header_i), + .mem_fwd_data_i(mem_fwd_data_i), + .mem_fwd_v_i(mem_fwd_v_i), + .mem_fwd_ready_and_o(mem_fwd_ready_and_o), + .mem_rev_header_o(mem_rev_header_o), + .mem_rev_data_o(mem_rev_data_o), + .mem_rev_v_o(mem_rev_v_o), + .mem_rev_ready_and_i(mem_rev_ready_and_i), + .r_v_o({cord_r_v_li, did_r_v_li, host_did_r_v_li, hio_mask_r_v_li, cce_mode_r_v_li, dcache_mode_r_v_li, icache_mode_r_v_li, cce_ucode_r_v_li, npc_r_v_li, freeze_r_v_li}), + .w_v_o({cord_w_v_li, did_w_v_li, host_did_w_v_li, hio_mask_w_v_li, cce_mode_w_v_li, dcache_mode_w_v_li, icache_mode_w_v_li, cce_ucode_w_v_li, npc_w_v_li, freeze_w_v_li}), + .addr_o(addr_lo), + .size_o(), + .data_o(data_lo), + .data_i(data_li) + ); + reg freeze_r; + reg [vaddr_width_p - 1:0] npc_r; + reg [1:0] icache_mode_r; + reg [1:0] dcache_mode_r; + reg cce_mode_r; + reg [hio_width_p - 1:0] hio_mask_r; + localparam bp_common_pkg_boot_base_addr_gp = 40'h0000110000; + function automatic [0:0] sv2v_cast_1; + input reg [0:0] inp; + sv2v_cast_1 = inp; + endfunction + always @(posedge clk_i) + if (reset_i) begin + freeze_r <= 1'b1; + npc_r <= bp_common_pkg_boot_base_addr_gp; + icache_mode_r <= 2'd0; + dcache_mode_r <= 2'd0; + cce_mode_r <= 1'd0; + hio_mask_r <= 1'sb0; + end + else begin + freeze_r <= (freeze_w_v_li ? data_lo : freeze_r); + npc_r <= (npc_w_v_li ? data_lo : npc_r); + icache_mode_r <= sv2v_cast_2((icache_mode_w_v_li ? data_lo : icache_mode_r)); + dcache_mode_r <= sv2v_cast_2((dcache_mode_w_v_li ? data_lo : dcache_mode_r)); + cce_mode_r <= sv2v_cast_1((cce_mode_w_v_li ? data_lo : cce_mode_r)); + hio_mask_r <= (hio_mask_w_v_li ? data_lo : hio_mask_r); + end + assign cce_ucode_v_o = (cce_mode_r == 1'd0) & (cce_ucode_r_v_li | cce_ucode_w_v_li); + assign cce_ucode_w_o = (cce_mode_r == 1'd0) & cce_ucode_w_v_li; + assign cce_ucode_addr_o = addr_lo[3+:cce_pc_width_p]; + assign cce_ucode_data_o = data_lo[0+:bp_me_pkg_cce_instr_width_gp]; + wire [core_id_width_p - 1:0] core_id_li; + wire [cce_id_width_p - 1:0] cce_id_li; + wire [lce_id_width_p - 1:0] icache_id_li; + wire [lce_id_width_p - 1:0] dcache_id_li; + bp_me_cord_to_id #(.bp_params_p(bp_params_p)) id_map( + .cord_i(cord_i), + .core_id_o(core_id_li), + .cce_id_o(cce_id_li), + .lce_id0_o(icache_id_li), + .lce_id1_o(dcache_id_li) + ); + function automatic [vaddr_width_p - 1:0] sv2v_cast_9A70B; + input reg [vaddr_width_p - 1:0] inp; + sv2v_cast_9A70B = inp; + endfunction + function automatic [core_id_width_p - 1:0] sv2v_cast_C03A5; + input reg [core_id_width_p - 1:0] inp; + sv2v_cast_C03A5 = inp; + endfunction + function automatic [lce_id_width_p - 1:0] sv2v_cast_588A5; + input reg [lce_id_width_p - 1:0] inp; + sv2v_cast_588A5 = inp; + endfunction + function automatic [cce_id_width_p - 1:0] sv2v_cast_0668A; + input reg [cce_id_width_p - 1:0] inp; + sv2v_cast_0668A = inp; + endfunction + function automatic [hio_width_p - 1:0] sv2v_cast_E8F16; + input reg [hio_width_p - 1:0] inp; + sv2v_cast_E8F16 = inp; + endfunction + function automatic [did_width_p - 1:0] sv2v_cast_91821; + input reg [did_width_p - 1:0] inp; + sv2v_cast_91821 = inp; + endfunction + assign cfg_bus_cast_o = {freeze_r, sv2v_cast_9A70B(npc_r), sv2v_cast_C03A5(core_id_li), sv2v_cast_588A5(icache_id_li), icache_mode_r, sv2v_cast_588A5(dcache_id_li), dcache_mode_r, sv2v_cast_0668A(cce_id_li), cce_mode_r, sv2v_cast_E8F16(hio_mask_r), sv2v_cast_91821(did_i)}; + assign data_li[0+:64] = freeze_r; + assign data_li[64+:64] = npc_r; + assign data_li[128+:64] = cce_ucode_data_i; + assign data_li[192+:64] = icache_mode_r; + assign data_li[256+:64] = dcache_mode_r; + assign data_li[320+:64] = cce_mode_r; + assign data_li[384+:64] = hio_mask_r; + assign data_li[448+:64] = host_did_i; + assign data_li[512+:64] = did_i; + assign data_li[576+:64] = cord_i; +endmodule +module bp_me_clint_slice ( + clk_i, + rt_clk_i, + reset_i, + cfg_bus_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i, + debug_irq_o, + software_irq_o, + timer_irq_o, + m_external_irq_o, + s_external_irq_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input rt_clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + output wire debug_irq_o; + output wire software_irq_o; + output wire timer_irq_o; + output wire m_external_irq_o; + output wire s_external_irq_o; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + localparam reg_els_lp = 6; + wire [19:0] addr_lo; + wire [63:0] data_lo; + wire [383:0] data_li; + wire debug_w_v_li; + wire plic_w_v_li; + wire mtime_w_v_li; + wire mtimesel_w_v_li; + wire mtimecmp_w_v_li; + wire mipi_w_v_li; + localparam bp_common_pkg_debug_reg_match_addr_gp = 20'h0czzz; + localparam bp_common_pkg_mipi_reg_match_addr_gp = 20'h00zzz; + localparam bp_common_pkg_mtime_reg_addr_gp = 20'h0bff8; + localparam bp_common_pkg_mtimecmp_reg_match_addr_gp = 20'h04zzz; + localparam bp_common_pkg_mtimesel_reg_match_addr_gp = 20'h08zzz; + localparam bp_common_pkg_plic_reg_match_addr_gp = 20'h0b00z; + bp_me_bedrock_register #( + .bp_params_p(bp_params_p), + .reg_data_width_p(bp_common_pkg_dword_width_gp), + .reg_addr_width_p(bp_common_pkg_dev_addr_width_gp), + .els_p(reg_els_lp), + .base_addr_p({bp_common_pkg_debug_reg_match_addr_gp, bp_common_pkg_plic_reg_match_addr_gp, bp_common_pkg_mtime_reg_addr_gp, bp_common_pkg_mtimesel_reg_match_addr_gp, bp_common_pkg_mtimecmp_reg_match_addr_gp, bp_common_pkg_mipi_reg_match_addr_gp}) + ) clints_register( + .clk_i(clk_i), + .reset_i(reset_i), + .mem_fwd_header_i(mem_fwd_header_i), + .mem_fwd_data_i(mem_fwd_data_i), + .mem_fwd_v_i(mem_fwd_v_i), + .mem_fwd_ready_and_o(mem_fwd_ready_and_o), + .mem_rev_header_o(mem_rev_header_o), + .mem_rev_data_o(mem_rev_data_o), + .mem_rev_v_o(mem_rev_v_o), + .mem_rev_ready_and_i(mem_rev_ready_and_i), + .r_v_o(), + .w_v_o({debug_w_v_li, plic_w_v_li, mtime_w_v_li, mtimesel_w_v_li, mtimecmp_w_v_li, mipi_w_v_li}), + .addr_o(addr_lo), + .size_o(), + .data_o(data_lo), + .data_i(data_li) + ); + wire [1:0] mtimesel_r; + wire [1:0] mtimesel_n = data_lo; + bsg_dff_reset_en #(.width_p(2)) mtimesel_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(mtimesel_w_v_li), + .data_i(mtimesel_n), + .data_o(mtimesel_r) + ); + wire clk_ds_lo; + bsg_counter_clock_downsample #(.width_p(3)) ds( + .clk_i(clk_i), + .reset_i(reset_i), + .val_i(3'b111), + .clk_r_o(clk_ds_lo) + ); + wire rt_clk_lo; + bsg_mux #( + .width_p(1), + .els_p(4), + .harden_p(1) + ) rtc_mux( + .data_i({1'b0, rt_clk_i, clk_ds_lo, clk_i}), + .sel_i(mtimesel_r), + .data_o(rt_clk_lo) + ); + wire [63:0] mtime_gray_r; + bsg_async_ptr_gray #(.lg_size_p(bp_common_pkg_dword_width_gp)) mtime_gray( + .w_clk_i(rt_clk_lo), + .w_reset_i(reset_i), + .w_inc_i(1'b1), + .r_clk_i(clk_i), + .w_ptr_binary_r_o(), + .w_ptr_gray_r_o(), + .w_ptr_gray_r_rsync_o(mtime_gray_r) + ); + wire unused = mtime_w_v_li; + wire [63:0] mtime_r; + bsg_gray_to_binary #(.width_p(bp_common_pkg_dword_width_gp)) g2b( + .gray_i(mtime_gray_r), + .binary_o(mtime_r) + ); + wire [63:0] mtimecmp_r; + wire [63:0] mtimecmp_n = data_lo; + bsg_dff_reset_en #(.width_p(bp_common_pkg_dword_width_gp)) mtimecmp_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(mtimecmp_w_v_li), + .data_i(mtimecmp_n), + .data_o(mtimecmp_r) + ); + assign timer_irq_o = mtime_r >= mtimecmp_r; + wire mipi_r; + wire mipi_n = data_lo[0]; + bsg_dff_reset_en #(.width_p(1)) mipi_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(mipi_w_v_li), + .data_i(mipi_n), + .data_o(mipi_r) + ); + assign software_irq_o = mipi_r; + localparam plic_els_lp = 2; + localparam lg_plic_els_lp = 1; + reg [1:0] plic_n; + wire [1:0] plic_r; + wire [0:0] plic_addr_li = addr_lo[3+:lg_plic_els_lp]; + always @(*) begin + if (_sv2v_0) + ; + plic_n = plic_r; + plic_n[plic_addr_li] = data_lo[0]; + end + bsg_dff_reset_en #(.width_p(plic_els_lp)) plic_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(plic_w_v_li), + .data_i(plic_n), + .data_o(plic_r) + ); + wire plic_lo = plic_r[plic_addr_li]; + assign m_external_irq_o = plic_r[0]; + assign s_external_irq_o = plic_r[1]; + wire debug_r; + wire debug_n = data_lo[0]; + bsg_dff_reset_en #(.width_p(1)) debug_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .en_i(debug_w_v_li), + .data_i(debug_n), + .data_o(debug_r) + ); + assign debug_irq_o = debug_r; + assign data_li[0+:64] = mipi_r; + assign data_li[64+:64] = mtimecmp_r; + assign data_li[128+:64] = mtimesel_r; + assign data_li[192+:64] = mtime_r; + assign data_li[256+:64] = plic_lo; + assign data_li[320+:64] = debug_r; + initial _sv2v_0 = 0; +endmodule +module bp_me_loopback ( + clk_i, + reset_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + input clk_i; + input reset_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_cast_i; + assign mem_fwd_header_cast_i = mem_fwd_header_i; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_cast_o; + assign mem_rev_header_o = mem_rev_header_cast_o; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_fwd_header_lo; + wire [bedrock_fill_width_p - 1:0] fsm_fwd_data_lo; + wire fsm_fwd_v_lo; + wire fsm_fwd_yumi_li; + wire [paddr_width_p - 1:0] fsm_fwd_addr_lo; + wire fsm_fwd_new_lo; + wire fsm_fwd_critical_lo; + wire fsm_fwd_last_lo; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_fwd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .fsm_stream_mask_p(7) + ) fwd_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(mem_fwd_header_cast_i), + .msg_data_i(mem_fwd_data_i), + .msg_v_i(mem_fwd_v_i), + .msg_ready_and_o(mem_fwd_ready_and_o), + .fsm_header_o(fsm_fwd_header_lo), + .fsm_data_o(fsm_fwd_data_lo), + .fsm_v_o(fsm_fwd_v_lo), + .fsm_yumi_i(fsm_fwd_yumi_li), + .fsm_addr_o(fsm_fwd_addr_lo), + .fsm_new_o(fsm_fwd_new_lo), + .fsm_critical_o(fsm_fwd_critical_lo), + .fsm_last_o(fsm_fwd_last_lo) + ); + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_rev_header_li; + wire [bedrock_fill_width_p - 1:0] fsm_rev_data_li; + wire fsm_rev_v_li; + wire fsm_rev_ready_then_lo; + wire [paddr_width_p - 1:0] fsm_rev_addr_lo; + wire fsm_rev_new_lo; + wire fsm_rev_critical_lo; + wire fsm_rev_last_lo; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_rev_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .fsm_stream_mask_p(7) + ) rev_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(mem_rev_header_cast_o), + .msg_data_o(mem_rev_data_o), + .msg_v_o(mem_rev_v_o), + .msg_ready_and_i(mem_rev_ready_and_i), + .fsm_header_i(fsm_rev_header_li), + .fsm_data_i(fsm_rev_data_li), + .fsm_v_i(fsm_rev_v_li), + .fsm_ready_then_o(fsm_rev_ready_then_lo), + .fsm_addr_o(fsm_rev_addr_lo), + .fsm_new_o(fsm_rev_new_lo), + .fsm_critical_o(fsm_rev_critical_lo), + .fsm_last_o(fsm_rev_last_lo) + ); + assign fsm_rev_header_li = fsm_fwd_header_lo; + assign fsm_rev_data_li = fsm_fwd_data_lo; + assign fsm_rev_v_li = fsm_rev_ready_then_lo & fsm_fwd_v_lo; + assign fsm_fwd_yumi_li = fsm_rev_v_li; +endmodule +module bp_cce ( + clk_i, + reset_i, + cfg_bus_i, + ucode_v_i, + ucode_w_i, + ucode_addr_i, + ucode_data_i, + ucode_data_o, + lce_req_header_i, + lce_req_data_i, + lce_req_v_i, + lce_req_ready_and_o, + lce_resp_header_i, + lce_resp_data_i, + lce_resp_v_i, + lce_resp_ready_and_o, + lce_cmd_header_o, + lce_cmd_data_o, + lce_cmd_v_o, + lce_cmd_ready_and_i, + mem_rev_header_i, + mem_rev_data_i, + mem_rev_v_i, + mem_rev_ready_and_o, + mem_fwd_header_o, + mem_fwd_data_o, + mem_fwd_v_o, + mem_fwd_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam block_size_in_bytes_lp = bedrock_block_width_p / 8; + localparam lg_block_size_in_bytes_lp = ((block_size_in_bytes_lp == 1) || (block_size_in_bytes_lp == 0) ? 1 : $clog2(block_size_in_bytes_lp)); + localparam num_way_groups_lp = ((cce_way_groups_p + num_cce_p) - 1) / num_cce_p; + localparam lg_num_way_groups_lp = ((num_way_groups_lp == 1) || (num_way_groups_lp == 0) ? 1 : $clog2(num_way_groups_lp)); + localparam lg_cce_way_groups_lp = ((cce_way_groups_p == 1) || (cce_way_groups_p == 0) ? 1 : $clog2(cce_way_groups_p)); + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input ucode_v_i; + input ucode_w_i; + input [cce_pc_width_p - 1:0] ucode_addr_i; + localparam bp_me_pkg_cce_instr_width_gp = 34; + input [33:0] ucode_data_i; + output wire [33:0] ucode_data_o; + input [lce_req_header_width_lp - 1:0] lce_req_header_i; + input [bedrock_fill_width_p - 1:0] lce_req_data_i; + input lce_req_v_i; + output wire lce_req_ready_and_o; + input [lce_resp_header_width_lp - 1:0] lce_resp_header_i; + input [bedrock_fill_width_p - 1:0] lce_resp_data_i; + input lce_resp_v_i; + output wire lce_resp_ready_and_o; + output wire [lce_cmd_header_width_lp - 1:0] lce_cmd_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_cmd_data_o; + output wire lce_cmd_v_o; + input lce_cmd_ready_and_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input [bedrock_fill_width_p - 1:0] mem_rev_data_i; + input mem_rev_v_i; + output wire mem_rev_ready_and_o; + output wire [mem_fwd_header_width_lp - 1:0] mem_fwd_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_fwd_data_o; + output wire mem_fwd_v_o; + input mem_fwd_ready_and_i; + generate + if (bedrock_block_width_p < 64) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce.sv:78:5 - bp_cce.genblk1\n msg: ", "CCE block width must be greater than CCE GPR width"); + end + endgenerate + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_cast_i; + assign lce_req_header_cast_i = lce_req_header_i; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_cast_o; + assign lce_cmd_header_o = lce_cmd_header_cast_o; + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_resp_header_cast_i; + assign lce_resp_header_cast_i = lce_resp_header_i; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire [cce_pc_width_p - 1:0] fetch_pc_lo; + wire [33:0] fetch_inst_lo; + wire fetch_inst_v_lo; + wire [cce_pc_width_p - 1:0] predicted_fetch_pc_lo; + wire [214:0] decoded_inst_lo; + wire [cce_pc_width_p - 1:0] ex_pc_lo; + wire [cce_pc_width_p - 1:0] branch_resolution_pc_lo; + wire stall_lo; + wire mispredict_lo; + wire [63:0] alu_res_lo; + wire [63:0] src_a; + wire [63:0] src_b; + wire [paddr_width_p - 1:0] addr_lo; + wire addr_bypass_lo; + wire [lce_id_width_p - 1:0] lce_lo; + wire [lce_assoc_width_p - 1:0] way_lo; + wire [lce_assoc_width_p - 1:0] lru_way_lo; + wire [2:0] state_lo; + wire [paddr_width_p - 1:0] dir_addr_li; + wire dir_addr_bypass_li; + wire [lce_id_width_p - 1:0] dir_lce_li; + wire [lce_assoc_width_p - 1:0] dir_way_li; + wire [2:0] dir_coh_state_li; + wire [3:0] dir_cmd_li; + wire dir_w_v_li; + wire pending_li; + wire pending_w_v_li; + wire [paddr_width_p - 1:0] pending_w_addr_li; + wire pending_w_addr_bypass_li; + wire spec_r_v_li; + wire [paddr_width_p - 1:0] spec_r_addr_li; + wire spec_r_addr_bypass_li; + wire dir_busy_lo; + wire sharers_v_lo; + wire [num_lce_p - 1:0] sharers_hits_lo; + wire [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_lo; + wire [(num_lce_p * 3) - 1:0] sharers_coh_states_lo; + wire dir_addr_v_lo; + wire dir_lru_v_lo; + wire [2:0] dir_lru_coh_state_lo; + wire [paddr_width_p - 1:0] dir_addr_lo; + wire [paddr_width_p - 1:0] dir_lru_addr_lo; + wire [3:0] dir_addr_dst_gpr_lo; + wire pending_lo; + wire [5:0] spec_bits_lo; + wire [lce_assoc_width_p - 1:0] gad_req_addr_way_lo; + wire [lce_id_width_p - 1:0] gad_owner_lce_lo; + wire [lce_assoc_width_p - 1:0] gad_owner_way_lo; + wire [2:0] gad_owner_coh_state_lo; + wire gad_replacement_flag_lo; + wire gad_upgrade_flag_lo; + wire gad_cached_shared_flag_lo; + wire gad_cached_exclusive_flag_lo; + wire gad_cached_modified_flag_lo; + wire gad_cached_owned_flag_lo; + wire gad_cached_forward_flag_lo; + wire [(((((((((lce_id_width_p + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 22) + paddr_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + paddr_width_p) + 3) + lce_id_width_p) + did_width_p) + 10:0] mshr_lo; + wire [511:0] gpr_lo; + wire [2:0] coh_state_default_lo; + wire auto_fwd_msg_lo; + wire [paddr_width_p - 1:0] msg_dir_addr_lo; + wire msg_dir_addr_bypass_lo; + wire [lce_id_width_p - 1:0] msg_dir_lce_lo; + wire [lce_assoc_width_p - 1:0] msg_dir_way_lo; + wire [2:0] msg_dir_coh_state_lo; + wire [3:0] msg_dir_w_cmd_lo; + wire msg_dir_w_v_lo; + wire msg_pending_w_v_lo; + wire [paddr_width_p - 1:0] msg_pending_w_addr_lo; + wire msg_pending_w_addr_bypass_lo; + wire msg_pending_lo; + wire msg_spec_r_v_lo; + wire [paddr_width_p - 1:0] msg_spec_r_addr_lo; + wire msg_spec_r_addr_bypass_lo; + wire msg_lce_cmd_busy_lo; + wire msg_lce_resp_busy_lo; + wire msg_mem_rev_busy_lo; + wire msg_busy_lo; + wire msg_mem_credits_empty_lo; + wire msg_mem_fwd_stall_lo; + bp_cce_inst_ram #(.bp_params_p(bp_params_p)) inst_ram( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .ucode_v_i(ucode_v_i), + .ucode_w_i(ucode_w_i), + .ucode_addr_i(ucode_addr_i), + .ucode_data_i(ucode_data_i), + .ucode_data_o(ucode_data_o), + .predicted_fetch_pc_i(predicted_fetch_pc_lo), + .branch_resolution_pc_i(branch_resolution_pc_lo), + .stall_i(stall_lo), + .mispredict_i(mispredict_lo), + .fetch_pc_o(fetch_pc_lo), + .inst_o(fetch_inst_lo), + .inst_v_o(fetch_inst_v_lo) + ); + bp_cce_inst_predecode #(.width_p(cce_pc_width_p)) inst_predecode( + .inst_i(fetch_inst_lo), + .pc_i(fetch_pc_lo), + .predicted_next_pc_o(predicted_fetch_pc_lo) + ); + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_req_header_li; + wire [bedrock_fill_width_p - 1:0] fsm_req_data_li; + wire fsm_req_v_li; + wire fsm_req_yumi_lo; + wire [paddr_width_p - 1:0] fsm_req_addr_li; + wire fsm_req_new_li; + wire fsm_req_critical_li; + wire fsm_req_last_li; + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_req_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp) + ) req_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(lce_req_header_cast_i), + .msg_data_i(lce_req_data_i), + .msg_v_i(lce_req_v_i), + .msg_ready_and_o(lce_req_ready_and_o), + .fsm_header_o(fsm_req_header_li), + .fsm_data_o(fsm_req_data_li), + .fsm_v_o(fsm_req_v_li), + .fsm_yumi_i(fsm_req_yumi_lo), + .fsm_addr_o(fsm_req_addr_li), + .fsm_new_o(fsm_req_new_li), + .fsm_critical_o(fsm_req_critical_li), + .fsm_last_o(fsm_req_last_li) + ); + localparam block_size_in_fill_lp = bedrock_block_width_p / bedrock_fill_width_p; + localparam fill_cnt_width_lp = ((block_size_in_fill_lp == 1) || (block_size_in_fill_lp == 0) ? 1 : $clog2(block_size_in_fill_lp)); + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_cmd_header_lo; + wire [bedrock_fill_width_p - 1:0] fsm_cmd_data_lo; + wire fsm_cmd_v_lo; + wire fsm_cmd_ready_then_li; + wire [paddr_width_p - 1:0] fsm_cmd_addr_lo; + wire fsm_cmd_new_lo; + wire fsm_cmd_critical_lo; + wire fsm_cmd_last_lo; + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_cmd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp) + ) cmd_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(lce_cmd_header_cast_o), + .msg_data_o(lce_cmd_data_o), + .msg_v_o(lce_cmd_v_o), + .msg_ready_and_i(lce_cmd_ready_and_i), + .fsm_header_i(fsm_cmd_header_lo), + .fsm_data_i(fsm_cmd_data_lo), + .fsm_v_i(fsm_cmd_v_lo), + .fsm_ready_then_o(fsm_cmd_ready_then_li), + .fsm_addr_o(fsm_cmd_addr_lo), + .fsm_new_o(fsm_cmd_new_lo), + .fsm_critical_o(fsm_cmd_critical_lo), + .fsm_last_o(fsm_cmd_last_lo) + ); + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_resp_header_li; + wire [bedrock_fill_width_p - 1:0] fsm_resp_data_li; + wire fsm_resp_v_li; + wire fsm_resp_yumi_lo; + wire [paddr_width_p - 1:0] fsm_resp_addr_li; + wire fsm_resp_new_li; + wire fsm_resp_critical_li; + wire fsm_resp_last_li; + localparam bp_common_pkg_lce_resp_stream_mask_gp = 8; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_resp_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp) + ) resp_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(lce_resp_header_cast_i), + .msg_data_i(lce_resp_data_i), + .msg_v_i(lce_resp_v_i), + .msg_ready_and_o(lce_resp_ready_and_o), + .fsm_header_o(fsm_resp_header_li), + .fsm_addr_o(fsm_resp_addr_li), + .fsm_data_o(fsm_resp_data_li), + .fsm_v_o(fsm_resp_v_li), + .fsm_yumi_i(fsm_resp_yumi_lo), + .fsm_new_o(fsm_resp_new_li), + .fsm_critical_o(fsm_resp_critical_li), + .fsm_last_o(fsm_resp_last_li) + ); + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_rev_header_li; + wire [bedrock_fill_width_p - 1:0] fsm_rev_data_li; + wire fsm_rev_v_li; + wire fsm_rev_yumi_lo; + wire [paddr_width_p - 1:0] fsm_rev_addr_li; + wire fsm_rev_new_li; + wire fsm_rev_critical_li; + wire fsm_rev_last_li; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_rev_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp) + ) rev_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(mem_rev_header_i), + .msg_data_i(mem_rev_data_i), + .msg_v_i(mem_rev_v_i), + .msg_ready_and_o(mem_rev_ready_and_o), + .fsm_header_o(fsm_rev_header_li), + .fsm_data_o(fsm_rev_data_li), + .fsm_v_o(fsm_rev_v_li), + .fsm_yumi_i(fsm_rev_yumi_lo), + .fsm_addr_o(fsm_rev_addr_li), + .fsm_new_o(fsm_rev_new_li), + .fsm_critical_o(fsm_rev_critical_li), + .fsm_last_o(fsm_rev_last_li) + ); + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_fwd_header_lo; + wire [bedrock_fill_width_p - 1:0] fsm_fwd_data_lo; + wire fsm_fwd_v_lo; + wire fsm_fwd_ready_then_li; + wire [paddr_width_p - 1:0] fsm_fwd_addr_lo; + wire fsm_fwd_new_lo; + wire fsm_fwd_critical_lo; + wire fsm_fwd_last_lo; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_fwd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp) + ) fwd_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(mem_fwd_header_o), + .msg_data_o(mem_fwd_data_o), + .msg_v_o(mem_fwd_v_o), + .msg_ready_and_i(mem_fwd_ready_and_i), + .fsm_header_i(fsm_fwd_header_lo), + .fsm_data_i(fsm_fwd_data_lo), + .fsm_v_i(fsm_fwd_v_lo), + .fsm_ready_then_o(fsm_fwd_ready_then_li), + .fsm_addr_o(fsm_fwd_addr_lo), + .fsm_new_o(fsm_fwd_new_lo), + .fsm_critical_o(fsm_fwd_critical_lo), + .fsm_last_o(fsm_fwd_last_lo) + ); + bp_cce_inst_decode #(.cce_pc_width_p(cce_pc_width_p)) inst_decode( + .clk_i(clk_i), + .reset_i(reset_i), + .inst_i(fetch_inst_lo), + .pc_i(fetch_pc_lo), + .inst_v_i(fetch_inst_v_lo), + .stall_i(stall_lo), + .mispredict_i(mispredict_lo), + .decoded_inst_o(decoded_inst_lo), + .pc_o(ex_pc_lo) + ); + bp_cce_alu #(.width_p(64)) alu( + .opd_a_i(src_a), + .opd_b_i(src_b), + .alu_op_i(decoded_inst_lo[100-:4]), + .res_o(alu_res_lo) + ); + bp_cce_branch #( + .width_p(64), + .cce_pc_width_p(cce_pc_width_p) + ) branch( + .opd_a_i(src_a), + .opd_b_i(src_b), + .branch_i(decoded_inst_lo[213]), + .predicted_taken_i(decoded_inst_lo[212]), + .branch_op_i(decoded_inst_lo[96-:2]), + .execute_pc_i(ex_pc_lo), + .branch_target_i(decoded_inst_lo[86+:cce_pc_width_p]), + .mispredict_o(mispredict_lo), + .pc_o(branch_resolution_pc_lo) + ); + bp_cce_src_sel #(.bp_params_p(bp_params_p)) source_selector( + .src_a_sel_i(decoded_inst_lo[194-:3]), + .src_a_i(decoded_inst_lo[198-:4]), + .src_b_sel_i(decoded_inst_lo[187-:3]), + .src_b_i(decoded_inst_lo[191-:4]), + .addr_sel_i(decoded_inst_lo[184-:4]), + .lce_sel_i(decoded_inst_lo[180-:4]), + .way_sel_i(decoded_inst_lo[176-:4]), + .lru_way_sel_i(decoded_inst_lo[172-:4]), + .coh_state_sel_i(decoded_inst_lo[168-:4]), + .cfg_bus_i(cfg_bus_i), + .mshr_i(mshr_lo), + .gpr_i(gpr_lo), + .imm_i(decoded_inst_lo[164-:64]), + .auto_fwd_msg_i(auto_fwd_msg_lo), + .coh_state_default_i(coh_state_default_lo), + .sharers_hits_i(sharers_hits_lo), + .sharers_ways_i(sharers_ways_lo), + .sharers_coh_states_i(sharers_coh_states_lo), + .mem_rev_v_i(fsm_rev_v_li), + .lce_resp_v_i(fsm_resp_v_li), + .lce_req_v_i(fsm_req_v_li), + .lce_req_header_i(fsm_req_header_li), + .lce_resp_header_i(fsm_resp_header_li), + .mem_rev_header_i(fsm_rev_header_li), + .lce_req_data_i(fsm_req_data_li), + .lce_resp_data_i(fsm_resp_data_li), + .mem_rev_data_i(fsm_rev_data_li), + .src_a_o(src_a), + .src_b_o(src_b), + .addr_o(addr_lo), + .addr_bypass_o(addr_bypass_lo), + .lce_o(lce_lo), + .way_o(way_lo), + .lru_way_o(lru_way_lo), + .state_o(state_lo) + ); + bp_cce_arbitrate #(.bp_params_p(bp_params_p)) arbitration( + .stall_i(stall_lo), + .dir_addr_i(addr_lo), + .dir_addr_bypass_i(addr_bypass_lo), + .dir_lce_i(lce_lo), + .dir_way_i(way_lo), + .dir_coh_state_i(state_lo), + .dir_cmd_i(decoded_inst_lo[208-:4]), + .dir_w_v_i(decoded_inst_lo[84]), + .msg_dir_addr_i(msg_dir_addr_lo), + .msg_dir_addr_bypass_i(msg_dir_addr_bypass_lo), + .msg_dir_lce_i(msg_dir_lce_lo), + .msg_dir_way_i(msg_dir_way_lo), + .msg_dir_coh_state_i(msg_dir_coh_state_lo), + .msg_dir_w_cmd_i(msg_dir_w_cmd_lo), + .msg_dir_w_v_i(msg_dir_w_v_lo), + .dir_addr_o(dir_addr_li), + .dir_addr_bypass_o(dir_addr_bypass_li), + .dir_lce_o(dir_lce_li), + .dir_way_o(dir_way_li), + .dir_coh_state_o(dir_coh_state_li), + .dir_cmd_o(dir_cmd_li), + .dir_w_v_o(dir_w_v_li), + .pending_w_v_i(decoded_inst_lo[80]), + .pending_w_addr_i(addr_lo), + .pending_w_addr_bypass_i(addr_bypass_lo), + .pending_i(decoded_inst_lo[79]), + .msg_pending_w_v_i(msg_pending_w_v_lo), + .msg_pending_w_addr_i(msg_pending_w_addr_lo), + .msg_pending_w_addr_bypass_i(msg_pending_w_addr_bypass_lo), + .msg_pending_i(msg_pending_lo), + .pending_w_v_o(pending_w_v_li), + .pending_w_addr_o(pending_w_addr_li), + .pending_w_addr_bypass_o(pending_w_addr_bypass_li), + .pending_o(pending_li), + .spec_r_v_i(decoded_inst_lo[77]), + .spec_r_addr_i(addr_lo), + .spec_r_addr_bypass_i(addr_bypass_lo), + .msg_spec_r_v_i(msg_spec_r_v_lo), + .msg_spec_r_addr_i(msg_spec_r_addr_lo), + .msg_spec_r_addr_bypass_i(msg_spec_r_addr_bypass_lo), + .spec_r_v_o(spec_r_v_li), + .spec_r_addr_o(spec_r_addr_li), + .spec_r_addr_bypass_o(spec_r_addr_bypass_li) + ); + bp_cce_dir #(.bp_params_p(bp_params_p)) directory( + .clk_i(clk_i), + .reset_i(reset_i), + .addr_i(dir_addr_li), + .addr_bypass_i(dir_addr_bypass_li), + .lce_i(dir_lce_li), + .way_i(dir_way_li), + .lru_way_i(lru_way_lo), + .coh_state_i(dir_coh_state_li), + .addr_dst_gpr_i(decoded_inst_lo[204-:4]), + .cmd_i(dir_cmd_li), + .r_v_i(decoded_inst_lo[85]), + .w_v_i(dir_w_v_li), + .busy_o(dir_busy_lo), + .sharers_v_o(sharers_v_lo), + .sharers_hits_o(sharers_hits_lo), + .sharers_ways_o(sharers_ways_lo), + .sharers_coh_states_o(sharers_coh_states_lo), + .lru_v_o(dir_lru_v_lo), + .lru_coh_state_o(dir_lru_coh_state_lo), + .lru_addr_o(dir_lru_addr_lo), + .addr_v_o(dir_addr_v_lo), + .addr_o(dir_addr_lo), + .addr_dst_gpr_o(dir_addr_dst_gpr_lo), + .cce_id_i(cfg_bus_cast_i[cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))-:((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) >= (1 + (hio_width_p + (did_width_p + 0))) ? ((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) - (1 + (hio_width_p + (did_width_p + 0)))) + 1 : ((1 + (hio_width_p + (did_width_p + 0))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) + 1)]) + ); + bp_cce_pending_bits #( + .num_way_groups_p(num_way_groups_lp), + .cce_way_groups_p(cce_way_groups_p), + .num_cce_p(num_cce_p), + .paddr_width_p(paddr_width_p), + .addr_offset_p(lg_block_size_in_bytes_lp), + .cce_id_width_p(cce_id_width_p) + ) pending_bits( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(pending_w_v_li), + .w_addr_i(pending_w_addr_li), + .w_addr_bypass_hash_i(pending_w_addr_bypass_li), + .pending_i(pending_li), + .clear_i(decoded_inst_lo[78]), + .r_v_i(decoded_inst_lo[81]), + .r_addr_i(addr_lo), + .r_addr_bypass_hash_i(addr_bypass_lo), + .pending_o(pending_lo), + .cce_id_i(cfg_bus_cast_i[cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))-:((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) >= (1 + (hio_width_p + (did_width_p + 0))) ? ((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) - (1 + (hio_width_p + (did_width_p + 0)))) + 1 : ((1 + (hio_width_p + (did_width_p + 0))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) + 1)]) + ); + bp_cce_gad #(.bp_params_p(bp_params_p)) gad( + .clk_i(clk_i), + .reset_i(reset_i), + .gad_v_i(decoded_inst_lo[83]), + .sharers_v_i(sharers_v_lo), + .sharers_hits_i(sharers_hits_lo), + .sharers_ways_i(sharers_ways_lo), + .sharers_coh_states_i(sharers_coh_states_lo), + .req_lce_i(mshr_lo[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]), + .req_type_flag_i(mshr_lo[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15]), + .lru_coh_state_i(mshr_lo[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]), + .atomic_req_flag_i(mshr_lo[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2]), + .uncached_req_flag_i(mshr_lo[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]), + .req_addr_way_o(gad_req_addr_way_lo), + .owner_lce_o(gad_owner_lce_lo), + .owner_way_o(gad_owner_way_lo), + .owner_coh_state_o(gad_owner_coh_state_lo), + .replacement_flag_o(gad_replacement_flag_lo), + .upgrade_flag_o(gad_upgrade_flag_lo), + .cached_shared_flag_o(gad_cached_shared_flag_lo), + .cached_exclusive_flag_o(gad_cached_exclusive_flag_lo), + .cached_modified_flag_o(gad_cached_modified_flag_lo), + .cached_owned_flag_o(gad_cached_owned_flag_lo), + .cached_forward_flag_o(gad_cached_forward_flag_lo) + ); + bp_cce_reg #(.bp_params_p(bp_params_p)) registers( + .clk_i(clk_i), + .reset_i(reset_i), + .decoded_inst_i(decoded_inst_lo), + .dir_lru_v_i(dir_lru_v_lo), + .dir_addr_v_i(dir_addr_v_lo), + .stall_i(stall_lo), + .src_a_i(src_a), + .alu_res_i(alu_res_lo), + .lce_req_header_i(fsm_req_header_li), + .lce_req_v_i(fsm_req_v_li), + .lce_resp_header_i(fsm_resp_header_li), + .mem_rev_header_i(fsm_rev_header_li), + .pending_i(pending_lo), + .dir_lru_coh_state_i(dir_lru_coh_state_lo), + .dir_lru_addr_i(dir_lru_addr_lo), + .dir_addr_i(dir_addr_lo), + .dir_addr_dst_gpr_i(dir_addr_dst_gpr_lo), + .gad_req_addr_way_i(gad_req_addr_way_lo), + .gad_owner_lce_i(gad_owner_lce_lo), + .gad_owner_way_i(gad_owner_way_lo), + .gad_owner_coh_state_i(gad_owner_coh_state_lo), + .gad_replacement_flag_i(gad_replacement_flag_lo), + .gad_upgrade_flag_i(gad_upgrade_flag_lo), + .gad_cached_shared_flag_i(gad_cached_shared_flag_lo), + .gad_cached_exclusive_flag_i(gad_cached_exclusive_flag_lo), + .gad_cached_modified_flag_i(gad_cached_modified_flag_lo), + .gad_cached_owned_flag_i(gad_cached_owned_flag_lo), + .gad_cached_forward_flag_i(gad_cached_forward_flag_lo), + .spec_sf_i(spec_bits_lo[5]), + .mshr_o(mshr_lo), + .gpr_o(gpr_lo), + .coh_state_o(coh_state_default_lo), + .auto_fwd_msg_o(auto_fwd_msg_lo) + ); + bp_cce_msg #(.bp_params_p(bp_params_p)) message( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .lce_req_header_i(fsm_req_header_li), + .lce_req_data_i(fsm_req_data_li), + .lce_req_v_i(fsm_req_v_li), + .lce_req_yumi_o(fsm_req_yumi_lo), + .lce_req_new_i(fsm_req_new_li), + .lce_req_last_i(fsm_req_last_li), + .lce_cmd_header_o(fsm_cmd_header_lo), + .lce_cmd_data_o(fsm_cmd_data_lo), + .lce_cmd_v_o(fsm_cmd_v_lo), + .lce_cmd_ready_then_i(fsm_cmd_ready_then_li), + .lce_cmd_new_i(fsm_cmd_new_lo), + .lce_cmd_last_i(fsm_cmd_last_lo), + .lce_resp_header_i(fsm_resp_header_li), + .lce_resp_data_i(fsm_resp_data_li), + .lce_resp_v_i(fsm_resp_v_li), + .lce_resp_yumi_o(fsm_resp_yumi_lo), + .lce_resp_new_i(fsm_resp_new_li), + .lce_resp_last_i(fsm_resp_last_li), + .mem_rev_header_i(fsm_rev_header_li), + .mem_rev_data_i(fsm_rev_data_li), + .mem_rev_v_i(fsm_rev_v_li), + .mem_rev_yumi_o(fsm_rev_yumi_lo), + .mem_rev_new_i(fsm_rev_new_li), + .mem_rev_last_i(fsm_rev_last_li), + .mem_fwd_header_o(fsm_fwd_header_lo), + .mem_fwd_data_o(fsm_fwd_data_lo), + .mem_fwd_v_o(fsm_fwd_v_lo), + .mem_fwd_ready_then_i(fsm_fwd_ready_then_li), + .mem_fwd_new_i(fsm_fwd_new_lo), + .mem_fwd_last_i(fsm_fwd_last_lo), + .lce_i(lce_lo), + .addr_i(addr_lo), + .way_i(way_lo), + .coh_state_i(state_lo), + .sharers_v_i(sharers_v_lo), + .sharers_hits_i(sharers_hits_lo), + .sharers_ways_i(sharers_ways_lo), + .decoded_inst_i(decoded_inst_lo), + .mshr_i(mshr_lo), + .src_a_i(src_a), + .auto_fwd_msg_i(auto_fwd_msg_lo), + .pending_w_v_o(msg_pending_w_v_lo), + .pending_w_addr_o(msg_pending_w_addr_lo), + .pending_w_addr_bypass_o(msg_pending_w_addr_bypass_lo), + .pending_o(msg_pending_lo), + .spec_r_v_o(msg_spec_r_v_lo), + .spec_r_addr_o(msg_spec_r_addr_lo), + .spec_r_addr_bypass_o(msg_spec_r_addr_bypass_lo), + .spec_bits_i(spec_bits_lo), + .dir_addr_o(msg_dir_addr_lo), + .dir_addr_bypass_o(msg_dir_addr_bypass_lo), + .dir_lce_o(msg_dir_lce_lo), + .dir_way_o(msg_dir_way_lo), + .dir_coh_state_o(msg_dir_coh_state_lo), + .dir_w_cmd_o(msg_dir_w_cmd_lo), + .dir_w_v_o(msg_dir_w_v_lo), + .lce_cmd_busy_o(msg_lce_cmd_busy_lo), + .lce_resp_busy_o(msg_lce_resp_busy_lo), + .mem_rev_busy_o(msg_mem_rev_busy_lo), + .busy_o(msg_busy_lo), + .mem_credits_empty_o(msg_mem_credits_empty_lo), + .mem_fwd_stall_o(msg_mem_fwd_stall_lo) + ); + bp_cce_spec_bits #( + .num_way_groups_p(num_way_groups_lp), + .cce_way_groups_p(cce_way_groups_p), + .num_cce_p(num_cce_p), + .paddr_width_p(paddr_width_p), + .addr_offset_p(lg_block_size_in_bytes_lp) + ) spec_bits( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(decoded_inst_lo[76]), + .w_addr_i(addr_lo), + .w_addr_bypass_hash_i(addr_bypass_lo), + .spec_v_i(decoded_inst_lo[75]), + .squash_v_i(decoded_inst_lo[74]), + .fwd_mod_v_i(decoded_inst_lo[73]), + .state_v_i(decoded_inst_lo[72]), + .spec_i(decoded_inst_lo[71-:6]), + .r_v_i(spec_r_v_li), + .r_addr_i(spec_r_addr_li), + .r_addr_bypass_hash_i(spec_r_addr_bypass_li), + .spec_o(spec_bits_lo) + ); + localparam [0:0] sv2v_uu_inst_stall_ext_pending_v_i_0 = 1'sb0; + bp_cce_inst_stall inst_stall( + .decoded_inst_i(decoded_inst_lo), + .lce_req_v_i(fsm_req_v_li), + .lce_resp_v_i(fsm_resp_v_li), + .mem_rev_v_i(fsm_rev_v_li), + .pending_v_i(sv2v_uu_inst_stall_ext_pending_v_i_0), + .lce_cmd_yumi_i(fsm_cmd_v_lo), + .mem_credits_empty_i(msg_mem_credits_empty_lo), + .msg_busy_i(msg_busy_lo), + .msg_pending_w_busy_i(msg_pending_w_v_lo), + .msg_lce_cmd_busy_i(msg_lce_cmd_busy_lo), + .msg_lce_resp_busy_i(msg_lce_resp_busy_lo), + .msg_mem_rev_busy_i(msg_mem_rev_busy_lo), + .msg_spec_r_busy_i(msg_spec_r_v_lo), + .msg_dir_w_busy_i(msg_dir_w_v_lo), + .msg_mem_fwd_stall_i(msg_mem_fwd_stall_lo), + .dir_busy_i(dir_busy_lo), + .stall_o(stall_lo) + ); + wire req_start = ((fsm_req_v_li & decoded_inst_lo[214]) & decoded_inst_lo[65]) & (decoded_inst_lo[55-:2] == 2'b00); + wire req_end = (decoded_inst_lo[214] & (decoded_inst_lo[211-:3] == 3'b010)) & (decoded_inst_lo[208-:4] == 4'b1111); +endmodule +module bp_cce_alu ( + opd_a_i, + opd_b_i, + alu_op_i, + res_o +); + reg _sv2v_0; + parameter width_p = 0; + input [width_p - 1:0] opd_a_i; + input [width_p - 1:0] opd_b_i; + input wire [3:0] alu_op_i; + output reg [width_p - 1:0] res_o; + always @(*) begin : alu + if (_sv2v_0) + ; + (* full_case, parallel_case *) + case (alu_op_i) + 4'b0000: res_o = opd_a_i + opd_b_i; + 4'b0001: res_o = opd_a_i - opd_b_i; + 4'b0010: res_o = opd_a_i << opd_b_i; + 4'b0011: res_o = opd_a_i >> opd_b_i; + 4'b0100: res_o = opd_a_i & opd_b_i; + 4'b0101: res_o = opd_a_i | opd_b_i; + 4'b0110: res_o = opd_a_i ^ opd_b_i; + 4'b0111: res_o = ~opd_a_i; + 4'b1000: res_o = !opd_a_i; + 4'b1001: res_o = !(opd_a_i & opd_b_i); + 4'b1010: res_o = !(opd_a_i | opd_b_i); + default: res_o = 1'sb0; + endcase + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_arbitrate ( + stall_i, + dir_addr_i, + dir_addr_bypass_i, + dir_lce_i, + dir_way_i, + dir_coh_state_i, + dir_cmd_i, + dir_w_v_i, + msg_dir_addr_i, + msg_dir_addr_bypass_i, + msg_dir_lce_i, + msg_dir_way_i, + msg_dir_coh_state_i, + msg_dir_w_cmd_i, + msg_dir_w_v_i, + dir_addr_o, + dir_addr_bypass_o, + dir_lce_o, + dir_way_o, + dir_coh_state_o, + dir_cmd_o, + dir_w_v_o, + pending_w_v_i, + pending_w_addr_i, + pending_w_addr_bypass_i, + pending_i, + msg_pending_w_v_i, + msg_pending_w_addr_i, + msg_pending_w_addr_bypass_i, + msg_pending_i, + pending_w_v_o, + pending_w_addr_o, + pending_w_addr_bypass_o, + pending_o, + spec_r_v_i, + spec_r_addr_i, + spec_r_addr_bypass_i, + msg_spec_r_v_i, + msg_spec_r_addr_i, + msg_spec_r_addr_bypass_i, + spec_r_v_o, + spec_r_addr_o, + spec_r_addr_bypass_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input stall_i; + input [paddr_width_p - 1:0] dir_addr_i; + input dir_addr_bypass_i; + input [lce_id_width_p - 1:0] dir_lce_i; + input [lce_assoc_width_p - 1:0] dir_way_i; + input wire [2:0] dir_coh_state_i; + input wire [3:0] dir_cmd_i; + input dir_w_v_i; + input [paddr_width_p - 1:0] msg_dir_addr_i; + input msg_dir_addr_bypass_i; + input [lce_id_width_p - 1:0] msg_dir_lce_i; + input [lce_assoc_width_p - 1:0] msg_dir_way_i; + input wire [2:0] msg_dir_coh_state_i; + input wire [3:0] msg_dir_w_cmd_i; + input msg_dir_w_v_i; + output reg [paddr_width_p - 1:0] dir_addr_o; + output reg dir_addr_bypass_o; + output reg [lce_id_width_p - 1:0] dir_lce_o; + output reg [lce_assoc_width_p - 1:0] dir_way_o; + output reg [2:0] dir_coh_state_o; + output reg [3:0] dir_cmd_o; + output reg dir_w_v_o; + input pending_w_v_i; + input [paddr_width_p - 1:0] pending_w_addr_i; + input pending_w_addr_bypass_i; + input pending_i; + input msg_pending_w_v_i; + input [paddr_width_p - 1:0] msg_pending_w_addr_i; + input msg_pending_w_addr_bypass_i; + input msg_pending_i; + output reg pending_w_v_o; + output reg [paddr_width_p - 1:0] pending_w_addr_o; + output reg pending_w_addr_bypass_o; + output reg pending_o; + input spec_r_v_i; + input [paddr_width_p - 1:0] spec_r_addr_i; + input spec_r_addr_bypass_i; + input msg_spec_r_v_i; + input [paddr_width_p - 1:0] msg_spec_r_addr_i; + input msg_spec_r_addr_bypass_i; + output reg spec_r_v_o; + output reg [paddr_width_p - 1:0] spec_r_addr_o; + output reg spec_r_addr_bypass_o; + always @(*) begin + if (_sv2v_0) + ; + if (msg_dir_w_v_i) begin + dir_addr_o = msg_dir_addr_i; + dir_addr_bypass_o = msg_dir_addr_bypass_i; + dir_lce_o = msg_dir_lce_i; + dir_way_o = msg_dir_way_i; + dir_coh_state_o = msg_dir_coh_state_i; + dir_cmd_o = msg_dir_w_cmd_i; + dir_w_v_o = msg_dir_w_v_i; + end + else begin + dir_addr_o = dir_addr_i; + dir_addr_bypass_o = dir_addr_bypass_i; + dir_lce_o = dir_lce_i; + dir_way_o = dir_way_i; + dir_coh_state_o = dir_coh_state_i; + dir_cmd_o = dir_cmd_i; + dir_w_v_o = dir_w_v_i & ~stall_i; + end + if (msg_pending_w_v_i) begin + pending_w_v_o = msg_pending_w_v_i; + pending_w_addr_o = msg_pending_w_addr_i; + pending_w_addr_bypass_o = msg_pending_w_addr_bypass_i; + pending_o = msg_pending_i; + end + else begin + pending_w_v_o = pending_w_v_i & ~stall_i; + pending_w_addr_o = pending_w_addr_i; + pending_w_addr_bypass_o = pending_w_addr_bypass_i; + pending_o = pending_i; + end + if (msg_spec_r_v_i) begin + spec_r_v_o = msg_spec_r_v_i; + spec_r_addr_o = msg_spec_r_addr_i; + spec_r_addr_bypass_o = msg_spec_r_addr_bypass_i; + end + else begin + spec_r_v_o = spec_r_v_i; + spec_r_addr_o = spec_r_addr_i; + spec_r_addr_bypass_o = spec_r_addr_bypass_i; + end + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_branch ( + opd_a_i, + opd_b_i, + branch_i, + predicted_taken_i, + branch_op_i, + execute_pc_i, + branch_target_i, + mispredict_o, + pc_o +); + reg _sv2v_0; + parameter width_p = 0; + parameter cce_pc_width_p = 0; + input [width_p - 1:0] opd_a_i; + input [width_p - 1:0] opd_b_i; + input branch_i; + input predicted_taken_i; + input wire [1:0] branch_op_i; + input [cce_pc_width_p - 1:0] execute_pc_i; + input [cce_pc_width_p - 1:0] branch_target_i; + output reg mispredict_o; + output reg [cce_pc_width_p - 1:0] pc_o; + wire equal = opd_a_i == opd_b_i; + wire not_equal = ~equal; + wire less = opd_a_i < opd_b_i; + function automatic [cce_pc_width_p - 1:0] sv2v_cast_0C1C4; + input reg [cce_pc_width_p - 1:0] inp; + sv2v_cast_0C1C4 = inp; + endfunction + wire [cce_pc_width_p - 1:0] execute_pc_plus_one = sv2v_cast_0C1C4(execute_pc_i + 'd1); + reg branch_res; + always @(*) begin : branch + if (_sv2v_0) + ; + (* full_case, parallel_case *) + case (branch_op_i) + 2'b00: branch_res = equal; + 2'b01: branch_res = not_equal; + 2'b10: branch_res = less; + 2'b11: branch_res = less | equal; + default: branch_res = 1'sb0; + endcase + mispredict_o = branch_i & ((!predicted_taken_i & branch_res) | (predicted_taken_i & !branch_res)); + pc_o = (branch_i & branch_res ? branch_target_i : execute_pc_plus_one); + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_dir ( + clk_i, + reset_i, + addr_i, + addr_bypass_i, + lce_i, + way_i, + lru_way_i, + coh_state_i, + addr_dst_gpr_i, + cmd_i, + r_v_i, + w_v_i, + busy_o, + sharers_v_o, + sharers_hits_o, + sharers_ways_o, + sharers_coh_states_o, + lru_v_o, + lru_coh_state_o, + lru_addr_o, + addr_v_o, + addr_o, + addr_dst_gpr_o, + cce_id_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam block_size_in_bytes_lp = bedrock_block_width_p / 8; + localparam acc_lce_id_offset_lp = num_core_p * 2; + input clk_i; + input reset_i; + input [paddr_width_p - 1:0] addr_i; + input addr_bypass_i; + input [lce_id_width_p - 1:0] lce_i; + input [lce_assoc_width_p - 1:0] way_i; + input [lce_assoc_width_p - 1:0] lru_way_i; + input wire [2:0] coh_state_i; + input wire [3:0] addr_dst_gpr_i; + input wire [3:0] cmd_i; + input r_v_i; + input w_v_i; + output wire busy_o; + output wire sharers_v_o; + output reg [num_lce_p - 1:0] sharers_hits_o; + output reg [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_o; + output reg [(num_lce_p * 3) - 1:0] sharers_coh_states_o; + output wire lru_v_o; + output wire [2:0] lru_coh_state_o; + output wire [paddr_width_p - 1:0] lru_addr_o; + output wire addr_v_o; + output wire [paddr_width_p - 1:0] addr_o; + output wire [3:0] addr_dst_gpr_o; + input [cce_id_width_p - 1:0] cce_id_i; + wire unused = &{cce_id_i}; + generate + if (cce_way_groups_p < num_cce_p) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_dir.sv:75:5 - bp_cce_dir.genblk1\n msg: ", "Number of CCEs must be at least as large as the minimal number of LCE sets"); + end + if (dcache_sets_p <= 1) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_dir.sv:78:27 - bp_cce_dir.genblk2\n msg: ", "D$ must have more than 1 set"); + end + if (icache_sets_p <= 1) begin : genblk3 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_dir.sv:79:27 - bp_cce_dir.genblk3\n msg: ", "I$ must have more than 1 set"); + end + if ((num_cacc_p > 0) && (acache_sets_p <= 1)) begin : genblk4 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_dir.sv:80:49 - bp_cce_dir.genblk4\n msg: ", "A$ must have more than 1 set"); + end + endgenerate + wire lce_is_icache = ~lce_i[0] && (lce_i < acc_lce_id_offset_lp); + wire lce_is_dcache = lce_i[0] && (lce_i < acc_lce_id_offset_lp); + wire lce_is_acache = lce_i >= acc_lce_id_offset_lp; + localparam icache_dir_sets_lp = ((icache_sets_p + num_cce_p) - 1) / num_cce_p; + localparam lg_icache_assoc_lp = ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p)); + localparam icache_lce_id_width_lp = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + wire [icache_lce_id_width_lp - 1:0] icache_lce_id = lce_i[1+:icache_lce_id_width_lp]; + wire icache_r_v = r_v_i & ((cmd_i == 4'b0001) | ((cmd_i == 4'b0010) && lce_is_icache)); + wire icache_w_v = w_v_i & lce_is_icache; + wire icache_sharers_v; + wire [num_core_p - 1:0] icache_sharers_hits; + wire [(num_core_p * lg_icache_assoc_lp) - 1:0] icache_sharers_ways; + wire [(num_core_p * 3) - 1:0] icache_sharers_coh_states; + wire icache_busy; + wire icache_lru_v; + wire icache_addr_v; + wire [paddr_width_p - 1:0] icache_lru_addr_lo; + wire [paddr_width_p - 1:0] icache_addr_lo; + wire [3:0] icache_addr_dst_gpr_lo; + wire [2:0] icache_lru_coh_state_lo; + bp_cce_dir_segment #( + .tag_sets_p(icache_dir_sets_lp), + .num_lce_p(num_core_p), + .sets_p(icache_sets_p), + .assoc_p(icache_assoc_p), + .paddr_width_p(paddr_width_p), + .tag_width_p(icache_tag_width_p), + .num_cce_p(num_cce_p), + .block_size_in_bytes_p(block_size_in_bytes_lp) + ) icache_dir_segment( + .clk_i(clk_i), + .reset_i(reset_i), + .addr_i(addr_i), + .addr_bypass_i(addr_bypass_i), + .lce_i(icache_lce_id), + .way_i(way_i[0+:lg_icache_assoc_lp]), + .lru_way_i(lru_way_i[0+:lg_icache_assoc_lp]), + .coh_state_i(coh_state_i), + .addr_dst_gpr_i(addr_dst_gpr_i), + .cmd_i(cmd_i), + .r_v_i(icache_r_v), + .r_lru_v_i(lce_is_icache), + .w_v_i(icache_w_v), + .busy_o(icache_busy), + .sharers_v_o(icache_sharers_v), + .sharers_hits_o(icache_sharers_hits), + .sharers_ways_o(icache_sharers_ways), + .sharers_coh_states_o(icache_sharers_coh_states), + .lru_v_o(icache_lru_v), + .lru_coh_state_o(icache_lru_coh_state_lo), + .lru_addr_o(icache_lru_addr_lo), + .addr_v_o(icache_addr_v), + .addr_o(icache_addr_lo), + .addr_dst_gpr_o(icache_addr_dst_gpr_lo) + ); + localparam dcache_dir_sets_lp = ((dcache_sets_p + num_cce_p) - 1) / num_cce_p; + localparam lg_dcache_assoc_lp = ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p)); + localparam dcache_lce_id_width_lp = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + reg dcache_sharers_v; + reg [num_core_p - 1:0] dcache_sharers_hits; + reg [(num_core_p * lg_dcache_assoc_lp) - 1:0] dcache_sharers_ways; + reg [(num_core_p * 3) - 1:0] dcache_sharers_coh_states; + reg dcache_busy; + reg dcache_lru_v; + reg dcache_addr_v; + reg [paddr_width_p - 1:0] dcache_lru_addr_lo; + reg [paddr_width_p - 1:0] dcache_addr_lo; + reg [3:0] dcache_addr_dst_gpr_lo; + reg [2:0] dcache_lru_coh_state_lo; + generate + if (num_lce_p > 1) begin : dcache + wire [dcache_lce_id_width_lp - 1:0] dcache_lce_id = lce_i[1+:dcache_lce_id_width_lp]; + wire dcache_r_v = r_v_i & ((cmd_i == 4'b0001) | ((cmd_i == 4'b0010) && lce_is_dcache)); + wire dcache_w_v = w_v_i & lce_is_dcache; + wire [1:1] sv2v_tmp_dcache_dir_segment_busy_o; + always @(*) dcache_busy = sv2v_tmp_dcache_dir_segment_busy_o; + wire [1:1] sv2v_tmp_dcache_dir_segment_sharers_v_o; + always @(*) dcache_sharers_v = sv2v_tmp_dcache_dir_segment_sharers_v_o; + wire [num_core_p:1] sv2v_tmp_dcache_dir_segment_sharers_hits_o; + always @(*) dcache_sharers_hits = sv2v_tmp_dcache_dir_segment_sharers_hits_o; + wire [num_core_p * lg_dcache_assoc_lp:1] sv2v_tmp_dcache_dir_segment_sharers_ways_o; + always @(*) dcache_sharers_ways = sv2v_tmp_dcache_dir_segment_sharers_ways_o; + wire [num_core_p * 3:1] sv2v_tmp_dcache_dir_segment_sharers_coh_states_o; + always @(*) dcache_sharers_coh_states = sv2v_tmp_dcache_dir_segment_sharers_coh_states_o; + wire [1:1] sv2v_tmp_dcache_dir_segment_lru_v_o; + always @(*) dcache_lru_v = sv2v_tmp_dcache_dir_segment_lru_v_o; + wire [3:1] sv2v_tmp_dcache_dir_segment_lru_coh_state_o; + always @(*) dcache_lru_coh_state_lo = sv2v_tmp_dcache_dir_segment_lru_coh_state_o; + wire [paddr_width_p:1] sv2v_tmp_dcache_dir_segment_lru_addr_o; + always @(*) dcache_lru_addr_lo = sv2v_tmp_dcache_dir_segment_lru_addr_o; + wire [1:1] sv2v_tmp_dcache_dir_segment_addr_v_o; + always @(*) dcache_addr_v = sv2v_tmp_dcache_dir_segment_addr_v_o; + wire [paddr_width_p:1] sv2v_tmp_dcache_dir_segment_addr_o; + always @(*) dcache_addr_lo = sv2v_tmp_dcache_dir_segment_addr_o; + wire [4:1] sv2v_tmp_dcache_dir_segment_addr_dst_gpr_o; + always @(*) dcache_addr_dst_gpr_lo = sv2v_tmp_dcache_dir_segment_addr_dst_gpr_o; + bp_cce_dir_segment #( + .tag_sets_p(dcache_dir_sets_lp), + .num_lce_p(num_core_p), + .sets_p(dcache_sets_p), + .assoc_p(dcache_assoc_p), + .paddr_width_p(paddr_width_p), + .tag_width_p(dcache_tag_width_p), + .num_cce_p(num_cce_p), + .block_size_in_bytes_p(block_size_in_bytes_lp) + ) dcache_dir_segment( + .clk_i(clk_i), + .reset_i(reset_i), + .addr_i(addr_i), + .addr_bypass_i(addr_bypass_i), + .lce_i(dcache_lce_id), + .way_i(way_i[0+:lg_dcache_assoc_lp]), + .lru_way_i(lru_way_i[0+:lg_dcache_assoc_lp]), + .coh_state_i(coh_state_i), + .addr_dst_gpr_i(addr_dst_gpr_i), + .cmd_i(cmd_i), + .r_v_i(dcache_r_v), + .r_lru_v_i(lce_is_dcache), + .w_v_i(dcache_w_v), + .busy_o(sv2v_tmp_dcache_dir_segment_busy_o), + .sharers_v_o(sv2v_tmp_dcache_dir_segment_sharers_v_o), + .sharers_hits_o(sv2v_tmp_dcache_dir_segment_sharers_hits_o), + .sharers_ways_o(sv2v_tmp_dcache_dir_segment_sharers_ways_o), + .sharers_coh_states_o(sv2v_tmp_dcache_dir_segment_sharers_coh_states_o), + .lru_v_o(sv2v_tmp_dcache_dir_segment_lru_v_o), + .lru_coh_state_o(sv2v_tmp_dcache_dir_segment_lru_coh_state_o), + .lru_addr_o(sv2v_tmp_dcache_dir_segment_lru_addr_o), + .addr_v_o(sv2v_tmp_dcache_dir_segment_addr_v_o), + .addr_o(sv2v_tmp_dcache_dir_segment_addr_o), + .addr_dst_gpr_o(sv2v_tmp_dcache_dir_segment_addr_dst_gpr_o) + ); + end + else begin : genblk5 + always @(*) begin + if (_sv2v_0) + ; + dcache_busy = 1'sb0; + dcache_sharers_v = 1'b1; + dcache_sharers_hits = 1'sb0; + dcache_sharers_ways = 1'sb0; + dcache_sharers_coh_states = 3'b000; + dcache_lru_v = 1'sb0; + dcache_lru_coh_state_lo = 3'b000; + dcache_lru_addr_lo = 1'sb0; + dcache_addr_v = 1'sb0; + dcache_addr_lo = 1'sb0; + dcache_addr_dst_gpr_lo = 4'b0000; + end + end + endgenerate + localparam acache_dir_sets_lp = ((acache_sets_p + num_cce_p) - 1) / num_cce_p; + localparam lg_acache_assoc_lp = ((acache_assoc_p == 1) || (acache_assoc_p == 0) ? 1 : $clog2(acache_assoc_p)); + localparam acache_lce_id_width_lp = ((num_cacc_p == 1) || (num_cacc_p == 0) ? 1 : $clog2(num_cacc_p)); + localparam num_cacc_lp = (num_cacc_p == 0 ? 1 : num_cacc_p); + reg acache_sharers_v; + reg [num_cacc_lp - 1:0] acache_sharers_hits; + reg [(num_cacc_lp * lg_acache_assoc_lp) - 1:0] acache_sharers_ways; + reg [(num_cacc_lp * 3) - 1:0] acache_sharers_coh_states; + reg acache_busy; + reg acache_lru_v; + reg acache_addr_v; + reg [paddr_width_p - 1:0] acache_lru_addr_lo; + reg [paddr_width_p - 1:0] acache_addr_lo; + reg [3:0] acache_addr_dst_gpr_lo; + reg [2:0] acache_lru_coh_state_lo; + function automatic [acache_lce_id_width_lp - 1:0] sv2v_cast_601B3; + input reg [acache_lce_id_width_lp - 1:0] inp; + sv2v_cast_601B3 = inp; + endfunction + generate + if (num_cacc_p > 0) begin : acache + wire [acache_lce_id_width_lp - 1:0] acache_lce_id = sv2v_cast_601B3(lce_i - acc_lce_id_offset_lp); + wire acache_r_v = r_v_i & ((cmd_i == 4'b0001) | ((cmd_i == 4'b0010) && lce_is_acache)); + wire acache_w_v = w_v_i & lce_is_acache; + wire [1:1] sv2v_tmp_acache_dir_segment_busy_o; + always @(*) acache_busy = sv2v_tmp_acache_dir_segment_busy_o; + wire [1:1] sv2v_tmp_acache_dir_segment_sharers_v_o; + always @(*) acache_sharers_v = sv2v_tmp_acache_dir_segment_sharers_v_o; + wire [num_cacc_lp:1] sv2v_tmp_acache_dir_segment_sharers_hits_o; + always @(*) acache_sharers_hits = sv2v_tmp_acache_dir_segment_sharers_hits_o; + wire [num_cacc_lp * lg_acache_assoc_lp:1] sv2v_tmp_acache_dir_segment_sharers_ways_o; + always @(*) acache_sharers_ways = sv2v_tmp_acache_dir_segment_sharers_ways_o; + wire [num_cacc_lp * 3:1] sv2v_tmp_acache_dir_segment_sharers_coh_states_o; + always @(*) acache_sharers_coh_states = sv2v_tmp_acache_dir_segment_sharers_coh_states_o; + wire [1:1] sv2v_tmp_acache_dir_segment_lru_v_o; + always @(*) acache_lru_v = sv2v_tmp_acache_dir_segment_lru_v_o; + wire [3:1] sv2v_tmp_acache_dir_segment_lru_coh_state_o; + always @(*) acache_lru_coh_state_lo = sv2v_tmp_acache_dir_segment_lru_coh_state_o; + wire [paddr_width_p:1] sv2v_tmp_acache_dir_segment_lru_addr_o; + always @(*) acache_lru_addr_lo = sv2v_tmp_acache_dir_segment_lru_addr_o; + wire [1:1] sv2v_tmp_acache_dir_segment_addr_v_o; + always @(*) acache_addr_v = sv2v_tmp_acache_dir_segment_addr_v_o; + wire [paddr_width_p:1] sv2v_tmp_acache_dir_segment_addr_o; + always @(*) acache_addr_lo = sv2v_tmp_acache_dir_segment_addr_o; + wire [4:1] sv2v_tmp_acache_dir_segment_addr_dst_gpr_o; + always @(*) acache_addr_dst_gpr_lo = sv2v_tmp_acache_dir_segment_addr_dst_gpr_o; + bp_cce_dir_segment #( + .tag_sets_p(acache_dir_sets_lp), + .num_lce_p(num_cacc_p), + .sets_p(acache_sets_p), + .assoc_p(acache_assoc_p), + .paddr_width_p(paddr_width_p), + .tag_width_p(acache_tag_width_p), + .num_cce_p(num_cce_p), + .block_size_in_bytes_p(block_size_in_bytes_lp) + ) acache_dir_segment( + .clk_i(clk_i), + .reset_i(reset_i), + .addr_i(addr_i), + .addr_bypass_i(addr_bypass_i), + .lce_i(acache_lce_id), + .way_i(way_i[0+:lg_acache_assoc_lp]), + .lru_way_i(lru_way_i[0+:lg_acache_assoc_lp]), + .coh_state_i(coh_state_i), + .addr_dst_gpr_i(addr_dst_gpr_i), + .cmd_i(cmd_i), + .r_v_i(acache_r_v), + .r_lru_v_i(lce_is_acache), + .w_v_i(acache_w_v), + .busy_o(sv2v_tmp_acache_dir_segment_busy_o), + .sharers_v_o(sv2v_tmp_acache_dir_segment_sharers_v_o), + .sharers_hits_o(sv2v_tmp_acache_dir_segment_sharers_hits_o), + .sharers_ways_o(sv2v_tmp_acache_dir_segment_sharers_ways_o), + .sharers_coh_states_o(sv2v_tmp_acache_dir_segment_sharers_coh_states_o), + .lru_v_o(sv2v_tmp_acache_dir_segment_lru_v_o), + .lru_coh_state_o(sv2v_tmp_acache_dir_segment_lru_coh_state_o), + .lru_addr_o(sv2v_tmp_acache_dir_segment_lru_addr_o), + .addr_v_o(sv2v_tmp_acache_dir_segment_addr_v_o), + .addr_o(sv2v_tmp_acache_dir_segment_addr_o), + .addr_dst_gpr_o(sv2v_tmp_acache_dir_segment_addr_dst_gpr_o) + ); + end + else begin : genblk6 + always @(*) begin + if (_sv2v_0) + ; + acache_busy = 1'sb0; + acache_sharers_v = 1'b1; + acache_sharers_hits = 1'sb0; + acache_sharers_ways = 1'sb0; + acache_sharers_coh_states = 3'b000; + acache_lru_v = 1'sb0; + acache_lru_coh_state_lo = 3'b000; + acache_lru_addr_lo = 1'sb0; + acache_addr_v = 1'sb0; + acache_addr_lo = 1'sb0; + acache_addr_dst_gpr_lo = 4'b0000; + end + end + endgenerate + assign busy_o = (icache_busy | dcache_busy) | acache_busy; + assign sharers_v_o = (icache_sharers_v & dcache_sharers_v) & acache_sharers_v; + always @(*) begin + if (_sv2v_0) + ; + sharers_hits_o = 1'sb0; + sharers_ways_o = 1'sb0; + sharers_coh_states_o = {(2 * num_core_p) + num_cacc_p {3'b000}}; + begin : sv2v_autoblock_1 + reg signed [31:0] i; + for (i = 0; i < num_core_p; i = i + 1) + begin + sharers_hits_o[2 * i] = icache_sharers_hits[i]; + sharers_ways_o[(2 * i) * lce_assoc_width_p+:lg_icache_assoc_lp] = icache_sharers_ways[i * lg_icache_assoc_lp+:lg_icache_assoc_lp]; + sharers_coh_states_o[(2 * i) * 3+:3] = icache_sharers_coh_states[i * 3+:3]; + sharers_hits_o[(2 * i) + 1] = dcache_sharers_hits[i]; + sharers_ways_o[((2 * i) + 1) * lce_assoc_width_p+:lg_dcache_assoc_lp] = dcache_sharers_ways[i * lg_dcache_assoc_lp+:lg_dcache_assoc_lp]; + sharers_coh_states_o[((2 * i) + 1) * 3+:3] = dcache_sharers_coh_states[i * 3+:3]; + end + end + begin : sv2v_autoblock_2 + reg signed [31:0] i; + for (i = 0; i < num_cacc_p; i = i + 1) + begin + sharers_hits_o[i + (2 * num_core_p)] = acache_sharers_hits[i]; + sharers_ways_o[(i + (2 * num_core_p)) * lce_assoc_width_p+:lg_acache_assoc_lp] = acache_sharers_ways[i * lg_acache_assoc_lp+:lg_acache_assoc_lp]; + sharers_coh_states_o[(i + (2 * num_core_p)) * 3+:3] = acache_sharers_coh_states[i * 3+:3]; + end + end + end + assign lru_v_o = (icache_lru_v | dcache_lru_v) | acache_lru_v; + assign lru_addr_o = (icache_lru_v ? icache_lru_addr_lo : (dcache_lru_v ? dcache_lru_addr_lo : (acache_lru_v ? acache_lru_addr_lo : {paddr_width_p {1'sb0}}))); + assign lru_coh_state_o = (icache_lru_v ? icache_lru_coh_state_lo : (dcache_lru_v ? dcache_lru_coh_state_lo : (acache_lru_v ? acache_lru_coh_state_lo : 3'b000))); + assign addr_v_o = (icache_addr_v | dcache_addr_v) | acache_addr_v; + assign addr_o = (icache_addr_v ? icache_addr_lo : (dcache_addr_v ? dcache_addr_lo : (acache_addr_v ? acache_addr_lo : {paddr_width_p {1'sb0}}))); + assign addr_dst_gpr_o = (icache_addr_v ? icache_addr_dst_gpr_lo : (dcache_addr_v ? dcache_addr_dst_gpr_lo : (acache_addr_v ? acache_addr_dst_gpr_lo : 4'b0000))); + always @(negedge clk_i) + if (~reset_i) + ; + initial _sv2v_0 = 0; +endmodule +module bp_cce_dir_lru_extract ( + row_i, + row_v_i, + row_num_i, + lce_i, + lru_way_i, + lru_v_o, + lru_coh_state_o, + lru_tag_o +); + reg _sv2v_0; + parameter tag_sets_per_row_p = 0; + parameter row_width_p = 0; + parameter num_lce_p = 0; + parameter assoc_p = 0; + parameter rows_per_set_p = 0; + parameter tag_width_p = 0; + localparam lg_num_lce_lp = ((num_lce_p == 1) || (num_lce_p == 0) ? 1 : $clog2(num_lce_p)); + localparam lg_assoc_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam lg_rows_per_set_lp = ((rows_per_set_p == 1) || (rows_per_set_p == 0) ? 1 : $clog2(rows_per_set_p)); + input [row_width_p - 1:0] row_i; + input [tag_sets_per_row_p - 1:0] row_v_i; + input [lg_rows_per_set_lp - 1:0] row_num_i; + input [lg_num_lce_lp - 1:0] lce_i; + input [lg_assoc_lp - 1:0] lru_way_i; + output reg lru_v_o; + output reg [2:0] lru_coh_state_o; + output reg [tag_width_p - 1:0] lru_tag_o; + reg [((tag_width_p + 2) >= 0 ? ((tag_sets_per_row_p * assoc_p) * (tag_width_p + 3)) - 1 : ((tag_sets_per_row_p * assoc_p) * (1 - (tag_width_p + 2))) + (tag_width_p + 1)):((tag_width_p + 2) >= 0 ? 0 : tag_width_p + 2)] row; + always @(*) begin + if (_sv2v_0) + ; + row = row_i; + lru_v_o = row_v_i[lce_i[0]] & ((lce_i >> 1) == row_num_i); + lru_coh_state_o = row[((tag_width_p + 2) >= 0 ? (((lce_i[0] * assoc_p) + lru_way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0) : ((((lce_i[0] * assoc_p) + lru_way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0)) + 2)-:3]; + lru_tag_o = row[((tag_width_p + 2) >= 0 ? (((lce_i[0] * assoc_p) + lru_way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2)) : (((((lce_i[0] * assoc_p) + lru_way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2))) + ((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))) - 1)-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))]; + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_dir_segment ( + clk_i, + reset_i, + addr_i, + addr_bypass_i, + lce_i, + way_i, + lru_way_i, + coh_state_i, + addr_dst_gpr_i, + cmd_i, + r_v_i, + r_lru_v_i, + w_v_i, + busy_o, + sharers_v_o, + sharers_hits_o, + sharers_ways_o, + sharers_coh_states_o, + lru_v_o, + lru_coh_state_o, + lru_addr_o, + addr_v_o, + addr_o, + addr_dst_gpr_o +); + reg _sv2v_0; + parameter tag_sets_p = 0; + parameter num_lce_p = 0; + parameter sets_p = 0; + parameter assoc_p = 0; + parameter paddr_width_p = 0; + parameter tag_width_p = 0; + parameter block_size_in_bytes_p = 0; + parameter num_cce_p = 0; + localparam tag_sets_per_row_lp = 2; + localparam lg_tag_sets_per_row_lp = 1; + localparam lg_tag_sets_lp = ((tag_sets_p == 1) || (tag_sets_p == 0) ? 1 : $clog2(tag_sets_p)); + localparam lg_num_lce_lp = ((num_lce_p == 1) || (num_lce_p == 0) ? 1 : $clog2(num_lce_p)); + localparam lg_sets_lp = ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)); + localparam lg_assoc_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam lg_block_size_in_bytes_lp = ((block_size_in_bytes_p == 1) || (block_size_in_bytes_p == 0) ? 1 : $clog2(block_size_in_bytes_p)); + localparam lg_num_cce_lp = ((num_cce_p == 1) || (num_cce_p == 0) ? 1 : $clog2(num_cce_p)); + localparam tag_offset_lp = lg_sets_lp + lg_block_size_in_bytes_lp; + localparam hash_index_width_lp = $clog2((((2 ** lg_sets_lp) + num_cce_p) - 1) / num_cce_p); + localparam entry_width_lp = tag_width_p + 3; + localparam tag_set_width_lp = entry_width_lp * assoc_p; + localparam row_width_lp = tag_set_width_lp * tag_sets_per_row_lp; + localparam rows_per_set_lp = ((num_lce_p + tag_sets_per_row_lp) - 1) / tag_sets_per_row_lp; + localparam lg_rows_per_set_lp = ((rows_per_set_lp == 1) || (rows_per_set_lp == 0) ? 1 : $clog2(rows_per_set_lp)); + localparam rows_lp = rows_per_set_lp * tag_sets_p; + localparam lg_rows_lp = ((rows_lp == 1) || (rows_lp == 0) ? 1 : $clog2(rows_lp)); + localparam last_row_full_lp = (num_lce_p % tag_sets_per_row_lp) == 0; + localparam counter_max_lp = rows_lp + 1; + localparam counter_width_lp = ((counter_max_lp == 1) || (counter_max_lp == 0) ? 1 : $clog2(counter_max_lp)); + input clk_i; + input reset_i; + input [paddr_width_p - 1:0] addr_i; + input addr_bypass_i; + input [lg_num_lce_lp - 1:0] lce_i; + input [lg_assoc_lp - 1:0] way_i; + input [lg_assoc_lp - 1:0] lru_way_i; + input wire [2:0] coh_state_i; + input wire [3:0] addr_dst_gpr_i; + input wire [3:0] cmd_i; + input r_v_i; + input r_lru_v_i; + input w_v_i; + output reg busy_o; + output wire sharers_v_o; + output wire [num_lce_p - 1:0] sharers_hits_o; + output wire [(num_lce_p * lg_assoc_lp) - 1:0] sharers_ways_o; + output wire [(num_lce_p * 3) - 1:0] sharers_coh_states_o; + output wire lru_v_o; + output wire [2:0] lru_coh_state_o; + output wire [paddr_width_p - 1:0] lru_addr_o; + output reg addr_v_o; + output reg [paddr_width_p - 1:0] addr_o; + output wire [3:0] addr_dst_gpr_o; + generate + if (sets_p <= 1) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_dir_segment.sv:121:5 - bp_cce_dir_segment.genblk2\n msg: ", "Number of cache sets must be greater than 1; direct-mapped caches not supported"); + end + if (tag_sets_p < 1) begin : genblk3 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_dir_segment.sv:123:5 - bp_cce_dir_segment.genblk3\n msg: ", "Number of tag sets must be at least 1"); + end + endgenerate + wire [lg_num_cce_lp - 1:0] cce_id_lo; + wire [hash_index_width_lp - 1:0] set_id_lo; + function automatic [lg_sets_lp - 1:0] _sv2v_strm_hash_addr_rev; + input reg [(0 + ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) ? ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) - (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) - (0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1)) + 1)) - 1:0] inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) ? ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) - (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) - (0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) ? ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) - (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) - (0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_out; + integer _sv2v_strm_BEEC1_idx; + begin + _sv2v_strm_BEEC1_inp = {inp}; + for (_sv2v_strm_BEEC1_idx = 0; _sv2v_strm_BEEC1_idx <= ((0 + ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) ? ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) - (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) - (0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1)) + 1)) - 1); _sv2v_strm_BEEC1_idx = _sv2v_strm_BEEC1_idx + 1) + _sv2v_strm_BEEC1_out[((0 + ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) ? ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) - (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) - (0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1)) + 1)) - 1) - _sv2v_strm_BEEC1_idx-:1] = _sv2v_strm_BEEC1_inp[_sv2v_strm_BEEC1_idx+:1]; + _sv2v_strm_hash_addr_rev = ((0 + ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) ? ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) - (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) - (0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1)) + 1)) <= lg_sets_lp ? _sv2v_strm_BEEC1_out << (lg_sets_lp - (0 + ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) ? ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) - (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) - (0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1)) + 1))) : _sv2v_strm_BEEC1_out >> ((0 + ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) ? ((0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1) - (0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (lg_block_size_in_bytes_lp + lg_sets_lp) - 1 : lg_block_size_in_bytes_lp) - (0 >= (paddr_width_p - 1) ? lg_block_size_in_bytes_lp : (lg_block_size_in_bytes_lp + lg_sets_lp) - 1)) + 1)) - lg_sets_lp)); + end + endfunction + wire [lg_sets_lp - 1:0] hash_addr_rev = _sv2v_strm_hash_addr_rev({addr_i[lg_block_size_in_bytes_lp+:lg_sets_lp]}); + bsg_hash_bank #( + .banks_p(num_cce_p), + .width_p(lg_sets_lp) + ) addr_to_cce_id( + .i(hash_addr_rev), + .bank_o(cce_id_lo), + .index_o(set_id_lo) + ); + wire [lg_rows_lp - 1:0] set_id; + assign set_id = (addr_bypass_i ? {1'sb0, addr_i[0+:lg_tag_sets_lp]} : {1'sb0, set_id_lo}); + wire [(rows_per_set_lp * lg_rows_lp) - 1:0] addr_offset_table; + genvar _gv_i_63; + function automatic signed [lg_rows_lp - 1:0] sv2v_cast_AB061_signed; + input reg signed [lg_rows_lp - 1:0] inp; + sv2v_cast_AB061_signed = inp; + endfunction + generate + for (_gv_i_63 = 0; _gv_i_63 < rows_per_set_lp; _gv_i_63 = _gv_i_63 + 1) begin : genblk4 + localparam i = _gv_i_63; + assign addr_offset_table[i * lg_rows_lp+:lg_rows_lp] = sv2v_cast_AB061_signed(i * tag_sets_p); + end + endgenerate + wire [lg_rows_per_set_lp - 1:0] addr_lce; + generate + if (rows_per_set_lp > 1) begin : genblk5 + assign addr_lce = lce_i[1+:lg_rows_per_set_lp]; + end + else begin : genblk5 + assign addr_lce = 1'sb0; + end + endgenerate + wire [lg_rows_lp - 1:0] addr_offset = addr_offset_table[addr_lce * lg_rows_lp+:lg_rows_lp]; + wire [lg_rows_lp - 1:0] entry_row_addr = addr_offset + set_id; + reg dir_ram_w_v; + reg dir_ram_v; + reg [lg_rows_lp - 1:0] dir_ram_addr; + reg [lg_rows_lp - 1:0] dir_ram_addr_r; + reg [lg_rows_lp - 1:0] dir_ram_addr_n; + reg [((tag_width_p + 2) >= 0 ? ((2 * assoc_p) * (tag_width_p + 3)) - 1 : ((2 * assoc_p) * (1 - (tag_width_p + 2))) + (tag_width_p + 1)):((tag_width_p + 2) >= 0 ? 0 : tag_width_p + 2)] dir_ram_w_mask; + reg [((tag_width_p + 2) >= 0 ? ((2 * assoc_p) * (tag_width_p + 3)) - 1 : ((2 * assoc_p) * (1 - (tag_width_p + 2))) + (tag_width_p + 1)):((tag_width_p + 2) >= 0 ? 0 : tag_width_p + 2)] dir_ram_w_data; + wire [((tag_width_p + 2) >= 0 ? ((2 * assoc_p) * (tag_width_p + 3)) - 1 : ((2 * assoc_p) * (1 - (tag_width_p + 2))) + (tag_width_p + 1)):((tag_width_p + 2) >= 0 ? 0 : tag_width_p + 2)] dir_row_entries; + reg cnt_clr; + reg cnt_inc; + wire [counter_width_lp - 1:0] cnt; + reg [2:0] state_r; + reg [2:0] state_n; + reg [lg_num_lce_lp - 1:0] lce_r; + reg [lg_num_lce_lp - 1:0] lce_n; + reg [lg_assoc_lp - 1:0] way_r; + reg [lg_assoc_lp - 1:0] way_n; + reg [lg_assoc_lp - 1:0] lru_way_r; + reg [lg_assoc_lp - 1:0] lru_way_n; + reg [paddr_width_p - 1:0] addr_r; + reg [paddr_width_p - 1:0] addr_n; + wire [tag_width_p - 1:0] addr_r_tag = addr_r[tag_offset_lp+:tag_width_p]; + reg [1:0] dir_data_o_v_r; + reg [1:0] dir_data_o_v_n; + reg [3:0] addr_dst_gpr_r; + reg [3:0] addr_dst_gpr_n; + reg r_lru_v_r; + reg r_lru_v_n; + assign addr_dst_gpr_o = addr_dst_gpr_r; + reg sharers_v_r; + reg sharers_v_n; + reg [num_lce_p - 1:0] sharers_hits_r; + reg [num_lce_p - 1:0] sharers_hits_n; + reg [(num_lce_p * lg_assoc_lp) - 1:0] sharers_ways_r; + reg [(num_lce_p * lg_assoc_lp) - 1:0] sharers_ways_n; + reg [(num_lce_p * 3) - 1:0] sharers_coh_states_r; + reg [(num_lce_p * 3) - 1:0] sharers_coh_states_n; + assign sharers_v_o = sharers_v_r; + assign sharers_hits_o = sharers_hits_r; + assign sharers_ways_o = sharers_ways_r; + assign sharers_coh_states_o = sharers_coh_states_r; + wire [1:0] sharers_hits; + wire [(2 * lg_assoc_lp) - 1:0] sharers_ways; + wire [5:0] sharers_coh_states; + always @(posedge clk_i) + if (reset_i) begin + state_r <= 3'd0; + lce_r <= 1'sb0; + way_r <= 1'sb0; + lru_way_r <= 1'sb0; + addr_r <= 1'sb0; + dir_data_o_v_r <= 1'sb0; + dir_ram_addr_r <= 1'sb0; + addr_dst_gpr_r <= 4'b0000; + r_lru_v_r <= 1'sb0; + sharers_v_r <= 1'sb0; + sharers_hits_r <= 1'sb0; + sharers_ways_r <= 1'sb0; + sharers_coh_states_r <= 3'b000; + end + else begin + state_r <= state_n; + lce_r <= lce_n; + way_r <= way_n; + lru_way_r <= lru_way_n; + addr_r <= addr_n; + dir_data_o_v_r <= dir_data_o_v_n; + dir_ram_addr_r <= dir_ram_addr_n; + addr_dst_gpr_r <= addr_dst_gpr_n; + r_lru_v_r <= r_lru_v_n; + sharers_v_r <= sharers_v_n; + sharers_hits_r <= sharers_hits_n; + sharers_ways_r <= sharers_ways_n; + sharers_coh_states_r <= sharers_coh_states_n; + end + function automatic signed [counter_width_lp - 1:0] sv2v_cast_9F1BB_signed; + input reg signed [counter_width_lp - 1:0] inp; + sv2v_cast_9F1BB_signed = inp; + endfunction + function automatic signed [tag_offset_lp - 1:0] sv2v_cast_A382B_signed; + input reg signed [tag_offset_lp - 1:0] inp; + sv2v_cast_A382B_signed = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + state_n = state_r; + cnt_clr = 1'b0; + cnt_inc = 1'b0; + dir_ram_w_mask = 1'sb0; + dir_ram_w_data = 1'sb0; + dir_ram_v = 1'sb0; + dir_ram_w_v = 1'sb0; + dir_ram_addr = 1'sb0; + lce_n = lce_r; + way_n = way_r; + lru_way_n = lru_way_r; + addr_n = addr_r; + dir_data_o_v_n = 1'sb0; + dir_ram_addr_n = dir_ram_addr_r; + addr_dst_gpr_n = addr_dst_gpr_r; + r_lru_v_n = r_lru_v_r; + sharers_v_n = sharers_v_r; + sharers_hits_n = sharers_hits_r; + sharers_ways_n = sharers_ways_r; + sharers_coh_states_n = sharers_coh_states_r; + busy_o = 1'sb0; + addr_v_o = 1'sb0; + addr_o = 1'sb0; + case (state_r) + 3'd0: begin + state_n = 3'd1; + cnt_clr = 1'b1; + end + 3'd1: begin + dir_ram_v = 1'b1; + dir_ram_w_v = 1'b1; + dir_ram_addr = cnt[0+:lg_rows_lp]; + dir_ram_w_mask = 1'sb1; + dir_ram_w_data = 1'sb0; + cnt_clr = cnt == sv2v_cast_9F1BB_signed(rows_lp - 1); + state_n = (cnt_clr ? 3'd2 : 3'd1); + cnt_inc = ~cnt_clr; + busy_o = 1'b1; + end + 3'd2: + if (r_v_i) begin + sharers_v_n = 1'sb0; + sharers_hits_n = 1'sb0; + sharers_ways_n = 1'sb0; + sharers_coh_states_n = 3'b000; + lce_n = lce_i; + way_n = way_i; + lru_way_n = lru_way_i; + addr_n = addr_i; + addr_dst_gpr_n = addr_dst_gpr_i; + r_lru_v_n = 1'b0; + cnt_clr = 1'b1; + dir_ram_v = 1'b1; + dir_ram_addr_n = 1'sb0; + if (cmd_i == 4'b0001) begin + state_n = 3'd3; + dir_ram_addr = set_id; + dir_ram_addr_n = dir_ram_addr + sv2v_cast_AB061_signed(tag_sets_p); + dir_data_o_v_n = (num_lce_p < tag_sets_per_row_lp ? {1'sb0, {num_lce_p {1'b1}}} : {2 {1'sb1}}); + r_lru_v_n = r_lru_v_i; + end + else if (cmd_i == 4'b0010) begin + state_n = 3'd4; + lru_way_n = 1'sb0; + dir_ram_addr = entry_row_addr; + end + end + else if (w_v_i) begin + r_lru_v_n = 1'b0; + sharers_v_n = 1'sb0; + addr_n = 1'sb0; + addr_dst_gpr_n = 4'b0000; + state_n = 3'd2; + dir_ram_v = 1'b1; + dir_ram_w_v = 1'b1; + dir_ram_addr = entry_row_addr; + dir_ram_addr_n = entry_row_addr; + if (cmd_i == 4'b0110) begin + dir_ram_w_data = 1'sb0; + dir_ram_w_mask = 1'sb1; + end + else if (cmd_i == 4'b0111) begin + dir_ram_w_mask[((tag_width_p + 2) >= 0 ? 0 : tag_width_p + 2) + (((lce_i[0] * assoc_p) + way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2)))+:((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))] = 1'sb1; + dir_ram_w_data[((tag_width_p + 2) >= 0 ? (((lce_i[0] * assoc_p) + way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2)) : (((((lce_i[0] * assoc_p) + way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2))) + ((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))) - 1)-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] = addr_i[tag_offset_lp+:tag_width_p]; + dir_ram_w_data[((tag_width_p + 2) >= 0 ? (((lce_i[0] * assoc_p) + way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0) : ((((lce_i[0] * assoc_p) + way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0)) + 2)-:3] = coh_state_i; + end + else if (cmd_i == 4'b1000) begin + dir_ram_w_mask[((tag_width_p + 2) >= 0 ? (((lce_i[0] * assoc_p) + way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0) : ((((lce_i[0] * assoc_p) + way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0)) + 2)-:3] = 3'b111; + dir_ram_w_data[((tag_width_p + 2) >= 0 ? (((lce_i[0] * assoc_p) + way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0) : ((((lce_i[0] * assoc_p) + way_i) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0)) + 2)-:3] = coh_state_i; + end + end + 3'd3: begin + busy_o = 1'b1; + begin : sv2v_autoblock_1 + reg signed [31:0] j; + for (j = 0; j < tag_sets_per_row_lp; j = j + 1) + begin + sharers_hits_n[(cnt << 1) + j] = sharers_hits[j]; + sharers_ways_n[((cnt << 1) + j) * lg_assoc_lp+:lg_assoc_lp] = sharers_ways[j * lg_assoc_lp+:lg_assoc_lp]; + sharers_coh_states_n[((cnt << 1) + j) * 3+:3] = sharers_coh_states[j * 3+:3]; + end + end + if (cnt < sv2v_cast_9F1BB_signed(rows_per_set_lp - 1)) begin + dir_ram_v = 1'b1; + dir_ram_addr = dir_ram_addr_r; + dir_ram_addr_n = dir_ram_addr_r + sv2v_cast_AB061_signed(tag_sets_p); + dir_data_o_v_n = (cnt == sv2v_cast_9F1BB_signed(rows_per_set_lp - 2) ? (last_row_full_lp ? {2 {1'sb1}} : 2'b01) : {2 {1'sb1}}); + end + else begin + state_n = 3'd2; + cnt_clr = 1'b1; + sharers_v_n = 1'b1; + end + cnt_inc = ~cnt_clr; + end + 3'd4: begin + busy_o = 1'b1; + sharers_hits_n[0] = (addr_r_tag == dir_row_entries[((tag_width_p + 2) >= 0 ? (((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2)) : (((((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2))) + ((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))) - 1)-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))]) & |dir_row_entries[((tag_width_p + 2) >= 0 ? (((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0) : ((((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0)) + 2)-:3]; + sharers_ways_n[0+:lg_assoc_lp] = way_r; + sharers_coh_states_n[0+:3] = dir_row_entries[((tag_width_p + 2) >= 0 ? (((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0) : ((((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0)) + 2)-:3]; + sharers_v_n = 1'b1; + addr_v_o = 1'b1; + addr_o = {dir_row_entries[((tag_width_p + 2) >= 0 ? (((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2)) : (((((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2))) + ((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))) - 1)-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))], sv2v_cast_A382B_signed(0)}; + addr_n = {dir_row_entries[((tag_width_p + 2) >= 0 ? (((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2)) : (((((lce_r[0] * assoc_p) + way_r) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2))) + ((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))) - 1)-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))], sv2v_cast_A382B_signed(0)}; + state_n = 3'd2; + end + default: state_n = 3'd0; + endcase + end + bsg_mem_1rw_sync_mask_write_bit #( + .width_p(row_width_lp), + .els_p(rows_lp) + ) directory( + .clk_i(clk_i), + .reset_i(reset_i), + .w_i(dir_ram_w_v), + .w_mask_i(dir_ram_w_mask), + .addr_i(dir_ram_addr), + .data_i(dir_ram_w_data), + .v_i(dir_ram_v), + .data_o(dir_row_entries) + ); + bsg_counter_clear_up #( + .max_val_p(counter_max_lp), + .init_val_p(0) + ) counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(cnt_clr), + .up_i(cnt_inc), + .count_o(cnt) + ); + bp_cce_dir_tag_checker #( + .tag_sets_per_row_p(tag_sets_per_row_lp), + .row_width_p(row_width_lp), + .assoc_p(assoc_p), + .tag_width_p(tag_width_p) + ) tag_checker( + .row_i(dir_row_entries), + .row_v_i(dir_data_o_v_r), + .tag_i(addr_r_tag), + .sharers_hits_o(sharers_hits), + .sharers_ways_o(sharers_ways), + .sharers_coh_states_o(sharers_coh_states) + ); + wire lru_v_lo; + wire [tag_width_p - 1:0] lru_tag_lo; + bp_cce_dir_lru_extract #( + .tag_sets_per_row_p(tag_sets_per_row_lp), + .rows_per_set_p(rows_per_set_lp), + .row_width_p(row_width_lp), + .assoc_p(assoc_p), + .num_lce_p(num_lce_p), + .tag_width_p(tag_width_p) + ) lru_extract( + .row_i(dir_row_entries), + .row_v_i(dir_data_o_v_r), + .row_num_i(cnt[0+:lg_rows_per_set_lp]), + .lce_i(lce_r), + .lru_way_i(lru_way_r), + .lru_v_o(lru_v_lo), + .lru_coh_state_o(lru_coh_state_o), + .lru_tag_o(lru_tag_lo) + ); + wire [lg_sets_lp - 1:0] lru_set = addr_r[lg_block_size_in_bytes_lp+:lg_sets_lp]; + function automatic signed [lg_block_size_in_bytes_lp - 1:0] sv2v_cast_CFBE6_signed; + input reg signed [lg_block_size_in_bytes_lp - 1:0] inp; + sv2v_cast_CFBE6_signed = inp; + endfunction + assign lru_addr_o = {lru_tag_lo, lru_set, sv2v_cast_CFBE6_signed(0)}; + assign lru_v_o = lru_v_lo & r_lru_v_r; + initial _sv2v_0 = 0; +endmodule +module bp_cce_dir_tag_checker ( + row_i, + row_v_i, + tag_i, + sharers_hits_o, + sharers_ways_o, + sharers_coh_states_o +); + parameter tag_sets_per_row_p = 0; + parameter row_width_p = 0; + parameter assoc_p = 0; + parameter tag_width_p = 0; + localparam lg_assoc_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + input [row_width_p - 1:0] row_i; + input [tag_sets_per_row_p - 1:0] row_v_i; + input [tag_width_p - 1:0] tag_i; + output wire [tag_sets_per_row_p - 1:0] sharers_hits_o; + output wire [(tag_sets_per_row_p * lg_assoc_lp) - 1:0] sharers_ways_o; + output wire [(tag_sets_per_row_p * 3) - 1:0] sharers_coh_states_o; + wire [((tag_width_p + 2) >= 0 ? ((tag_sets_per_row_p * assoc_p) * (tag_width_p + 3)) - 1 : ((tag_sets_per_row_p * assoc_p) * (1 - (tag_width_p + 2))) + (tag_width_p + 1)):((tag_width_p + 2) >= 0 ? 0 : tag_width_p + 2)] row; + assign row = row_i; + wire [(tag_sets_per_row_p * assoc_p) - 1:0] row_hits; + genvar _gv_i_64; + generate + for (_gv_i_64 = 0; _gv_i_64 < tag_sets_per_row_p; _gv_i_64 = _gv_i_64 + 1) begin : row_hits_tag_set + localparam i = _gv_i_64; + genvar _gv_j_16; + for (_gv_j_16 = 0; _gv_j_16 < assoc_p; _gv_j_16 = _gv_j_16 + 1) begin : row_hits_way + localparam j = _gv_j_16; + assign row_hits[(i * assoc_p) + j] = (row_v_i[i] & (row[((tag_width_p + 2) >= 0 ? (((i * assoc_p) + j) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2)) : (((((i * assoc_p) + j) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? tag_width_p + 2 : (tag_width_p + 2) - (tag_width_p + 2))) + ((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))) - 1)-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] == tag_i)) & |row[((tag_width_p + 2) >= 0 ? (((i * assoc_p) + j) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0) : ((((i * assoc_p) + j) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0)) + 2)-:3]; + end + end + endgenerate + genvar _gv_i_65; + generate + for (_gv_i_65 = 0; _gv_i_65 < tag_sets_per_row_p; _gv_i_65 = _gv_i_65 + 1) begin : sharers_ways_gen + localparam i = _gv_i_65; + bsg_encode_one_hot #(.width_p(assoc_p)) row_hits_to_way_ids_and_v( + .i(row_hits[i * assoc_p+:assoc_p]), + .addr_o(sharers_ways_o[i * lg_assoc_lp+:lg_assoc_lp]), + .v_o(sharers_hits_o[i]) + ); + end + endgenerate + genvar _gv_i_66; + generate + for (_gv_i_66 = 0; _gv_i_66 < tag_sets_per_row_p; _gv_i_66 = _gv_i_66 + 1) begin : sharers_states_gen + localparam i = _gv_i_66; + assign sharers_coh_states_o[i * 3+:3] = (sharers_hits_o[i] ? row[((tag_width_p + 2) >= 0 ? (((i * assoc_p) + sharers_ways_o[i * lg_assoc_lp+:lg_assoc_lp]) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0) : ((((i * assoc_p) + sharers_ways_o[i * lg_assoc_lp+:lg_assoc_lp]) * ((tag_width_p + 2) >= 0 ? tag_width_p + 3 : 1 - (tag_width_p + 2))) + ((tag_width_p + 2) >= 0 ? 2 : tag_width_p + 0)) + 2)-:3] : 3'b000); + end + endgenerate +endmodule +module bp_cce_gad ( + clk_i, + reset_i, + gad_v_i, + sharers_v_i, + sharers_hits_i, + sharers_ways_i, + sharers_coh_states_i, + req_lce_i, + req_type_flag_i, + lru_coh_state_i, + atomic_req_flag_i, + uncached_req_flag_i, + req_addr_way_o, + owner_lce_o, + owner_way_o, + owner_coh_state_o, + replacement_flag_o, + upgrade_flag_o, + cached_shared_flag_o, + cached_exclusive_flag_o, + cached_modified_flag_o, + cached_owned_flag_o, + cached_forward_flag_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lg_num_lce_lp = ((num_lce_p == 1) || (num_lce_p == 0) ? 1 : $clog2(num_lce_p)); + input clk_i; + input reset_i; + input gad_v_i; + input sharers_v_i; + input [num_lce_p - 1:0] sharers_hits_i; + input [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_i; + input wire [(num_lce_p * 3) - 1:0] sharers_coh_states_i; + input [lce_id_width_p - 1:0] req_lce_i; + input req_type_flag_i; + input wire [2:0] lru_coh_state_i; + input atomic_req_flag_i; + input uncached_req_flag_i; + output wire [lce_assoc_width_p - 1:0] req_addr_way_o; + output wire [lce_id_width_p - 1:0] owner_lce_o; + output wire [lce_assoc_width_p - 1:0] owner_way_o; + output wire [2:0] owner_coh_state_o; + output wire replacement_flag_o; + output wire upgrade_flag_o; + output wire cached_shared_flag_o; + output wire cached_exclusive_flag_o; + output wire cached_modified_flag_o; + output wire cached_owned_flag_o; + output wire cached_forward_flag_o; + wire unused = &{clk_i, reset_i, sharers_v_i}; + wire [lg_num_lce_lp - 1:0] req_lce_id = req_lce_i[0+:lg_num_lce_lp]; + wire [num_lce_p - 1:0] lce_id_one_hot; + bsg_decode #(.num_out_p(num_lce_p)) lce_id_to_one_hot( + .i(req_lce_id), + .o(lce_id_one_hot) + ); + wire [num_lce_p - 1:0] lce_cached; + assign lce_cached = sharers_hits_i; + wire [num_lce_p - 1:0] lce_cached_S; + wire [num_lce_p - 1:0] lce_cached_E; + wire [num_lce_p - 1:0] lce_cached_M; + wire [num_lce_p - 1:0] lce_cached_O; + wire [num_lce_p - 1:0] lce_cached_F; + genvar _gv_i_67; + generate + for (_gv_i_67 = 0; _gv_i_67 < num_lce_p; _gv_i_67 = _gv_i_67 + 1) begin : lce_cached_flags + localparam i = _gv_i_67; + assign lce_cached_S[i] = lce_cached[i] & (sharers_coh_states_i[i * 3+:3] == 3'b001); + assign lce_cached_E[i] = lce_cached[i] & (sharers_coh_states_i[i * 3+:3] == 3'b010); + assign lce_cached_M[i] = lce_cached[i] & (sharers_coh_states_i[i * 3+:3] == 3'b110); + assign lce_cached_O[i] = lce_cached[i] & (sharers_coh_states_i[i * 3+:3] == 3'b111); + assign lce_cached_F[i] = lce_cached[i] & (sharers_coh_states_i[i * 3+:3] == 3'b011); + end + endgenerate + assign cached_shared_flag_o = |(lce_cached_S & ~lce_id_one_hot); + assign cached_exclusive_flag_o = |(lce_cached_E & ~lce_id_one_hot); + assign cached_modified_flag_o = |(lce_cached_M & ~lce_id_one_hot); + assign cached_owned_flag_o = |(lce_cached_O & ~lce_id_one_hot); + assign cached_forward_flag_o = |(lce_cached_F & ~lce_id_one_hot); + wire req_lce_cached; + assign req_lce_cached = lce_cached[req_lce_id] & (req_lce_id < num_lce_p); + wire req_lce_ro; + assign req_lce_ro = req_lce_cached & (((sharers_coh_states_i[req_lce_id * 3+:3] == 3'b001) | (sharers_coh_states_i[req_lce_id * 3+:3] == 3'b011)) | (sharers_coh_states_i[req_lce_id * 3+:3] == 3'b111)); + assign req_addr_way_o = (req_lce_cached ? sharers_ways_i[req_lce_id * lce_assoc_width_p+:lce_assoc_width_p] : {lce_assoc_width_p {1'sb0}}); + assign upgrade_flag_o = (req_type_flag_i & req_lce_ro) & ~uncached_req_flag_i; + assign replacement_flag_o = (uncached_req_flag_i | atomic_req_flag_i ? req_lce_cached : ~upgrade_flag_o & (((lru_coh_state_i == 3'b010) | (lru_coh_state_i == 3'b110)) | (lru_coh_state_i == 3'b111))); + wire [num_lce_p - 1:0] owner_lce_one_hot; + assign owner_lce_one_hot = (gad_v_i ? ((lce_cached_E | lce_cached_M) | lce_cached_O) | lce_cached_F : {num_lce_p {1'sb0}}); + wire [lg_num_lce_lp - 1:0] owner_lce_lo; + wire owner_lce_v; + bsg_encode_one_hot #( + .width_p(num_lce_p), + .lo_to_hi_p(1) + ) lce_cached_to_lce_id( + .i(owner_lce_one_hot), + .addr_o(owner_lce_lo), + .v_o(owner_lce_v) + ); + assign owner_lce_o = (gad_v_i & owner_lce_v ? {1'sb0, owner_lce_lo} : {lce_id_width_p {1'sb0}}); + assign owner_way_o = (gad_v_i & owner_lce_v ? sharers_ways_i[owner_lce_lo * lce_assoc_width_p+:lce_assoc_width_p] : {lce_assoc_width_p {1'sb0}}); + assign owner_coh_state_o = (gad_v_i & owner_lce_v ? sharers_coh_states_i[owner_lce_lo * 3+:3] : 3'b000); +endmodule +module bp_cce_inst_decode ( + clk_i, + reset_i, + inst_i, + pc_i, + inst_v_i, + stall_i, + mispredict_i, + decoded_inst_o, + pc_o +); + reg _sv2v_0; + parameter cce_pc_width_p = 0; + input clk_i; + input reset_i; + input wire [33:0] inst_i; + input [cce_pc_width_p - 1:0] pc_i; + input inst_v_i; + input stall_i; + input mispredict_i; + output reg [214:0] decoded_inst_o; + output reg [cce_pc_width_p - 1:0] pc_o; + reg [33:0] inst_r; + reg [33:0] inst_n; + reg [cce_pc_width_p - 1:0] ex_pc_r; + reg [cce_pc_width_p - 1:0] ex_pc_n; + reg inst_v_r; + reg inst_v_n; + always @(posedge clk_i) + if (reset_i) begin + inst_r <= 1'sb0; + ex_pc_r <= 1'sb0; + inst_v_r <= 1'sb0; + end + else begin + inst_r <= inst_n; + ex_pc_r <= ex_pc_n; + inst_v_r <= inst_v_n; + end + reg [2:0] op; + reg [3:0] minor_op_u; + reg [24:0] op_type_u; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + inst_n = (stall_i ? inst_r : inst_i); + ex_pc_n = (stall_i ? ex_pc_r : pc_i); + inst_v_n = (stall_i ? inst_v_r : (mispredict_i ? 1'b0 : inst_v_i)); + pc_o = ex_pc_r; + decoded_inst_o = 1'sb0; + decoded_inst_o[214] = inst_v_r; + op = inst_r[2-:3]; + minor_op_u = inst_r[6-:4]; + op_type_u = inst_r[31-:25]; + if (inst_v_r) begin + decoded_inst_o[213] = inst_r[32]; + decoded_inst_o[212] = inst_r[33]; + decoded_inst_o[211-:3] = op; + decoded_inst_o[208-:4] = minor_op_u; + (* full_case, parallel_case *) + case (op) + 3'b000: begin + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + (* full_case, parallel_case *) + case (minor_op_u[3-:4]) + 4'b0000: begin + decoded_inst_o[100-:4] = 4'b0000; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0001: begin + decoded_inst_o[100-:4] = 4'b0001; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0010: begin + decoded_inst_o[100-:4] = 4'b0010; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0011: begin + decoded_inst_o[100-:4] = 4'b0011; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0100: begin + decoded_inst_o[100-:4] = 4'b0100; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0101: begin + decoded_inst_o[100-:4] = 4'b0101; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0110: begin + decoded_inst_o[100-:4] = 4'b0110; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0111: decoded_inst_o[100-:4] = 4'b0111; + 4'b1000: begin + decoded_inst_o[100-:4] = 4'b0000; + decoded_inst_o[187-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[24-:16]; + end + 4'b1001: begin + decoded_inst_o[100-:4] = 4'b0001; + decoded_inst_o[187-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[24-:16]; + end + 4'b1010: begin + decoded_inst_o[100-:4] = 4'b0010; + decoded_inst_o[187-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[24-:16]; + end + 4'b1011: begin + decoded_inst_o[100-:4] = 4'b0011; + decoded_inst_o[187-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[24-:16]; + end + 4'b1111: decoded_inst_o[100-:4] = 4'b1000; + default: + ; + endcase + end + 3'b001: begin + decoded_inst_o[94-:9] = op_type_u[24-:9]; + (* full_case, parallel_case *) + case (minor_op_u[3-:4]) + 4'b0000: begin + decoded_inst_o[96-:2] = 2'b00; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0001: begin + decoded_inst_o[96-:2] = 2'b01; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0010: begin + decoded_inst_o[96-:2] = 2'b10; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0011: begin + decoded_inst_o[96-:2] = 2'b11; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0100: begin + decoded_inst_o[96-:2] = 2'b00; + decoded_inst_o[194-:3] = 3'd2; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd0; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b0101: begin + decoded_inst_o[96-:2] = 2'b00; + decoded_inst_o[194-:3] = 3'd2; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd2; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + end + 4'b1000: begin + decoded_inst_o[96-:2] = 2'b00; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd5; + decoded_inst_o[101+:8] = op_type_u[11-:8]; + end + 4'b1100: begin + decoded_inst_o[96-:2] = 2'b00; + decoded_inst_o[194-:3] = 3'd2; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd5; + decoded_inst_o[101+:8] = op_type_u[11-:8]; + end + default: + ; + endcase + end + 3'b010: begin + (* full_case, parallel_case *) + case (minor_op_u[3-:4]) + 4'b0000: begin + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b0001: begin + decoded_inst_o[194-:3] = 3'd2; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b0010: begin + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[200-:2] = 2'd2; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + end + 4'b0011: begin + decoded_inst_o[194-:3] = 3'd1; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b0100: begin + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[200-:2] = 2'd1; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[4 + op_type_u[7-:4]] = 1'b1; + end + 4'b0101: begin + decoded_inst_o[194-:3] = 3'd3; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b0110: begin + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[200-:2] = 2'd3; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + end + 4'b1000: begin + decoded_inst_o[194-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[24-:16]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b1001: begin + decoded_inst_o[194-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[24-:16]; + decoded_inst_o[200-:2] = 2'd2; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + end + 4'b1010: begin + decoded_inst_o[194-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[24-:16]; + decoded_inst_o[200-:2] = 2'd3; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + end + 4'b1111: decoded_inst_o[30] = 1'b1; + default: + ; + endcase + if ((minor_op_u[3-:4] == 4'b0010) | (minor_op_u[3-:4] == 4'b1001)) begin + if (op_type_u[7-:4] == 4'b0000) + decoded_inst_o[29] = 1'b1; + if (op_type_u[7-:4] == 4'b0001) + decoded_inst_o[28] = 1'b1; + if (op_type_u[7-:4] == 4'b0010) + decoded_inst_o[27] = 1'b1; + if (op_type_u[7-:4] == 4'b0011) + decoded_inst_o[26] = 1'b1; + if (op_type_u[7-:4] == 4'b0100) + decoded_inst_o[25] = 1'b1; + if (op_type_u[7-:4] == 4'b0101) + decoded_inst_o[24] = 1'b1; + if (op_type_u[7-:4] == 4'b0110) + decoded_inst_o[23] = 1'b1; + if (op_type_u[7-:4] == 4'b0111) + decoded_inst_o[22] = 1'b1; + if (op_type_u[7-:4] == 4'b1010) + decoded_inst_o[21] = 1'b1; + if (op_type_u[7-:4] == 4'b1011) + decoded_inst_o[20] = 1'b1; + if (op_type_u[7-:4] == 4'b1000) begin + decoded_inst_o[19-:16] = 1'sb1; + decoded_inst_o[164-:64] = 1'sb1; + end + if (op_type_u[7-:4] == 4'b1001) + decoded_inst_o[3] = 1'b1; + end + if ((minor_op_u[3-:4] == 4'b0110) | (minor_op_u[3-:4] == 4'b1010)) begin + if (op_type_u[7-:4] == 4'b0100) + decoded_inst_o[1] = 1'b1; + if (op_type_u[7-:4] == 4'b0101) + decoded_inst_o[2] = 1'b1; + end + end + 3'b100: + (* full_case, parallel_case *) + case (minor_op_u[3-:4]) + 4'b0000: begin + decoded_inst_o[194-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[24-:16]; + decoded_inst_o[200-:2] = 2'd1; + decoded_inst_o[4 + op_type_u[7-:4]] = 1'b1; + end + 4'b0001: begin + decoded_inst_o[100-:4] = 4'b0100; + decoded_inst_o[194-:3] = 3'd1; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd1; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b0010: begin + decoded_inst_o[100-:4] = 4'b0101; + decoded_inst_o[194-:3] = 3'd1; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd1; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b0011: begin + decoded_inst_o[100-:4] = 4'b1001; + decoded_inst_o[194-:3] = 3'd1; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd1; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b0100: begin + decoded_inst_o[100-:4] = 4'b1010; + decoded_inst_o[194-:3] = 3'd1; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[187-:3] = 3'd1; + decoded_inst_o[191-:4] = op_type_u[11-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b0101: begin + decoded_inst_o[100-:4] = 4'b1000; + decoded_inst_o[194-:3] = 3'd1; + decoded_inst_o[198-:4] = op_type_u[3-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + end + 4'b1000: begin + decoded_inst_o[96-:2] = 2'b00; + decoded_inst_o[94-:9] = op_type_u[24-:9]; + decoded_inst_o[194-:3] = 3'd2; + decoded_inst_o[198-:4] = 4'b1000; + decoded_inst_o[187-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[15-:16]; + end + 4'b1001: begin + decoded_inst_o[96-:2] = 2'b00; + decoded_inst_o[94-:9] = op_type_u[24-:9]; + decoded_inst_o[194-:3] = 3'd2; + decoded_inst_o[198-:4] = 4'b1000; + decoded_inst_o[187-:3] = 3'd6; + decoded_inst_o[101+:16] = op_type_u[15-:16]; + end + 4'b1010: begin + decoded_inst_o[96-:2] = 2'b01; + decoded_inst_o[94-:9] = op_type_u[24-:9]; + decoded_inst_o[194-:3] = 3'd2; + decoded_inst_o[198-:4] = 4'b1000; + decoded_inst_o[187-:3] = 3'd6; + decoded_inst_o[101+:16] = op_type_u[15-:16]; + end + 4'b1011: begin + decoded_inst_o[96-:2] = 2'b01; + decoded_inst_o[94-:9] = op_type_u[24-:9]; + decoded_inst_o[194-:3] = 3'd2; + decoded_inst_o[198-:4] = 4'b1000; + decoded_inst_o[187-:3] = 3'd5; + decoded_inst_o[101+:16] = op_type_u[15-:16]; + end + default: + ; + endcase + 3'b101: + (* full_case, parallel_case *) + case (minor_op_u[3-:4]) + 4'b0000: begin + decoded_inst_o[81] = 1'b1; + decoded_inst_o[184-:4] = op_type_u[3-:4]; + decoded_inst_o[8] = 1'b1; + end + 4'b0001: begin + decoded_inst_o[85] = 1'b1; + decoded_inst_o[184-:4] = op_type_u[3-:4]; + decoded_inst_o[180-:4] = op_type_u[11-:4]; + decoded_inst_o[172-:4] = op_type_u[19-:4]; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[23-:4]; + end + 4'b0010: begin + decoded_inst_o[85] = 1'b1; + decoded_inst_o[184-:4] = op_type_u[3-:4]; + decoded_inst_o[180-:4] = op_type_u[11-:4]; + decoded_inst_o[176-:4] = op_type_u[15-:4]; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[23-:4]; + end + 4'b0100: begin + decoded_inst_o[80] = 1'b1; + decoded_inst_o[184-:4] = op_type_u[3-:4]; + decoded_inst_o[79] = op_type_u[8]; + decoded_inst_o[101] = op_type_u[8]; + end + 4'b0101: begin + decoded_inst_o[80] = 1'b1; + decoded_inst_o[78] = 1'b1; + decoded_inst_o[184-:4] = op_type_u[3-:4]; + end + 4'b0110: begin + decoded_inst_o[84] = 1'b1; + decoded_inst_o[184-:4] = op_type_u[3-:4]; + decoded_inst_o[180-:4] = op_type_u[11-:4]; + end + 4'b0111: begin + decoded_inst_o[84] = 1'b1; + decoded_inst_o[184-:4] = op_type_u[3-:4]; + decoded_inst_o[180-:4] = op_type_u[11-:4]; + decoded_inst_o[176-:4] = op_type_u[15-:4]; + decoded_inst_o[168-:4] = op_type_u[7-:4]; + decoded_inst_o[101+:3] = op_type_u[18-:3]; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[22-:4]; + end + 4'b1000: begin + decoded_inst_o[84] = 1'b1; + decoded_inst_o[184-:4] = op_type_u[3-:4]; + decoded_inst_o[180-:4] = op_type_u[11-:4]; + decoded_inst_o[176-:4] = op_type_u[15-:4]; + decoded_inst_o[168-:4] = op_type_u[7-:4]; + decoded_inst_o[101+:3] = op_type_u[18-:3]; + decoded_inst_o[194-:3] = 3'd0; + decoded_inst_o[198-:4] = op_type_u[22-:4]; + end + 4'b1001: begin + decoded_inst_o[83] = 1'b1; + decoded_inst_o[27] = 1'b1; + decoded_inst_o[24] = 1'b1; + decoded_inst_o[23] = 1'b1; + decoded_inst_o[20] = 1'b1; + decoded_inst_o[15] = 1'b1; + decoded_inst_o[16] = 1'b1; + decoded_inst_o[10] = 1'b1; + decoded_inst_o[11] = 1'b1; + decoded_inst_o[12] = 1'b1; + decoded_inst_o[13] = 1'b1; + decoded_inst_o[14] = 1'b1; + end + default: + ; + endcase + 3'b110: + (* full_case, parallel_case *) + case (minor_op_u[3-:4]) + 4'b0000: begin + decoded_inst_o[82] = 1'b1; + decoded_inst_o[101+:4] = op_type_u[9+:4]; + end + 4'b0001: begin + decoded_inst_o[62] = 1'b1; + decoded_inst_o[57-:2] = op_type_u[1-:2]; + (* full_case, parallel_case *) + case (op_type_u[1-:2]) + 2'b00: begin + decoded_inst_o[49] = 1'b1; + decoded_inst_o[48-:4] = op_type_u[7-:4]; + end + 2'b01: begin + decoded_inst_o[44] = 1'b1; + decoded_inst_o[43-:4] = op_type_u[7-:4]; + end + default: + ; + endcase + decoded_inst_o[184-:4] = op_type_u[11-:4]; + decoded_inst_o[180-:4] = op_type_u[15-:4]; + decoded_inst_o[194-:3] = 3'd4; + decoded_inst_o[198-:4] = op_type_u[19-:4]; + if (op_type_u[3]) begin + decoded_inst_o[76] = 1'b1; + decoded_inst_o[75] = 1'b1; + decoded_inst_o[74] = 1'b1; + decoded_inst_o[73] = 1'b1; + decoded_inst_o[72] = 1'b1; + decoded_inst_o[71] = 1'b1; + end + decoded_inst_o[61] = op_type_u[2]; + decoded_inst_o[60-:3] = sv2v_cast_3(op_type_u[23-:4]); + decoded_inst_o[176-:4] = op_type_u[23-:4]; + decoded_inst_o[168-:4] = 4'b1000; + if (op_type_u[24]) begin + decoded_inst_o[80] = 1'b1; + decoded_inst_o[79] = 1'b1; + end + end + 4'b0010: begin + decoded_inst_o[64] = 1'b1; + decoded_inst_o[55-:2] = op_type_u[1-:2]; + (* full_case, parallel_case *) + case (op_type_u[1-:2]) + 2'b00: begin + decoded_inst_o[53] = 1'b1; + decoded_inst_o[184-:4] = 4'b1010; + end + 2'b11: begin + decoded_inst_o[52] = 1'b1; + decoded_inst_o[184-:4] = 4'b1011; + end + 2'b01: begin + decoded_inst_o[51] = 1'b1; + decoded_inst_o[184-:4] = 4'b1100; + end + 2'b10: begin + decoded_inst_o[50] = 1'b0; + decoded_inst_o[184-:4] = 4'b1101; + end + default: + ; + endcase + if (op_type_u[24]) begin + decoded_inst_o[80] = 1'b1; + if (decoded_inst_o[53] | decoded_inst_o[50]) + decoded_inst_o[79] = 1'b1; + else + decoded_inst_o[79] = 1'b0; + end + end + 4'b0011: begin + decoded_inst_o[65] = 1'b1; + decoded_inst_o[55-:2] = op_type_u[1-:2]; + decoded_inst_o[194-:3] = 3'd4; + (* full_case, parallel_case *) + case (op_type_u[1-:2]) + 2'b11: begin + decoded_inst_o[198-:4] = 4'b0100; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + decoded_inst_o[19-:16] = 16'b0000000000001000; + end + 2'b01: begin + decoded_inst_o[198-:4] = 4'b0101; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + decoded_inst_o[19-:16] = 16'b0000000000100000; + end + 2'b00: begin + decoded_inst_o[29] = 1'b1; + decoded_inst_o[28] = 1'b1; + decoded_inst_o[25] = 1'b1; + decoded_inst_o[3] = 1'b1; + decoded_inst_o[19-:16] = ((16'b0000000000000001 | 16'b0000000000000100) | 16'b0000000000000010) | 16'b1000000000000000; + end + default: decoded_inst_o[198-:4] = 4'b0100; + endcase + end + 4'b0100: begin + decoded_inst_o[63] = 1'b1; + decoded_inst_o[55-:2] = op_type_u[1-:2]; + decoded_inst_o[194-:3] = 3'd4; + decoded_inst_o[200-:2] = 2'd0; + decoded_inst_o[204-:4] = op_type_u[7-:4]; + decoded_inst_o[31 + op_type_u[4+:3]] = 1'b1; + (* full_case, parallel_case *) + case (op_type_u[1-:2]) + 2'b11: decoded_inst_o[198-:4] = 4'b0110; + 2'b01: decoded_inst_o[198-:4] = 4'b0111; + 2'b00: decoded_inst_o[198-:4] = 4'b1000; + default: decoded_inst_o[198-:4] = 4'b0110; + endcase + end + 4'b0101: begin + decoded_inst_o[184-:4] = op_type_u[11-:4]; + (* full_case, parallel_case *) + case (op_type_u[3-:4]) + 4'b0000: begin + decoded_inst_o[76] = 1'b1; + decoded_inst_o[75] = 1'b1; + decoded_inst_o[74] = 1'b1; + decoded_inst_o[73] = 1'b1; + decoded_inst_o[72] = 1'b1; + decoded_inst_o[71] = 1'b1; + end + 4'b0001: begin + decoded_inst_o[76] = 1'b1; + decoded_inst_o[75] = 1'b1; + decoded_inst_o[74] = 1'b1; + decoded_inst_o[73] = 1'b1; + decoded_inst_o[72] = 1'b1; + end + 4'b0010: begin + decoded_inst_o[76] = 1'b1; + decoded_inst_o[75] = 1'b1; + decoded_inst_o[74] = 1'b1; + decoded_inst_o[73] = 1'b1; + decoded_inst_o[72] = 1'b1; + decoded_inst_o[70] = 1'b1; + end + 4'b0011: begin + decoded_inst_o[76] = 1'b1; + decoded_inst_o[75] = 1'b1; + decoded_inst_o[74] = 1'b1; + decoded_inst_o[73] = 1'b1; + decoded_inst_o[72] = 1'b1; + decoded_inst_o[69] = 1'b1; + decoded_inst_o[68-:3] = op_type_u[14-:3]; + end + 4'b1000: begin + decoded_inst_o[77] = 1'b1; + decoded_inst_o[9] = 1'b1; + end + default: decoded_inst_o[76] = 1'b0; + endcase + end + 4'b1000: begin + decoded_inst_o[39] = 1'b1; + decoded_inst_o[184-:4] = 4'b1000; + end + default: + ; + endcase + default: + ; + endcase + end + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_inst_predecode ( + inst_i, + pc_i, + predicted_next_pc_o +); + parameter width_p = 0; + input wire [33:0] inst_i; + input [width_p - 1:0] pc_i; + output wire [width_p - 1:0] predicted_next_pc_o; + generate + if (width_p > 9) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_inst_predecode.sv:34:5 - bp_cce_inst_predecode.genblk1\n msg: ", "Desired address width is larger than address width used in instruction encoding"); + end + endgenerate + function automatic [width_p - 1:0] sv2v_cast_0835B; + input reg [width_p - 1:0] inp; + sv2v_cast_0835B = inp; + endfunction + wire [width_p - 1:0] pc_plus_one = sv2v_cast_0835B(pc_i + 'd1); + wire [width_p - 1:0] branch_target = inst_i[23+:width_p]; + wire predict_taken = inst_i[32] & inst_i[33]; + assign predicted_next_pc_o = (predict_taken ? branch_target : pc_plus_one); +endmodule +module bp_cce_inst_ram ( + clk_i, + reset_i, + cfg_bus_i, + ucode_v_i, + ucode_w_i, + ucode_addr_i, + ucode_data_i, + ucode_data_o, + predicted_fetch_pc_i, + branch_resolution_pc_i, + stall_i, + mispredict_i, + fetch_pc_o, + inst_o, + inst_v_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input ucode_v_i; + input ucode_w_i; + input [cce_pc_width_p - 1:0] ucode_addr_i; + localparam bp_me_pkg_cce_instr_width_gp = 34; + input [33:0] ucode_data_i; + output wire [33:0] ucode_data_o; + input [cce_pc_width_p - 1:0] predicted_fetch_pc_i; + input [cce_pc_width_p - 1:0] branch_resolution_pc_i; + input stall_i; + input mispredict_i; + output wire [cce_pc_width_p - 1:0] fetch_pc_o; + output wire [33:0] inst_o; + output wire inst_v_o; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + reg [cce_pc_width_p - 1:0] fetch_pc_r; + reg [cce_pc_width_p - 1:0] fetch_pc_n; + assign fetch_pc_o = fetch_pc_r; + reg inst_v_r; + reg inst_v_n; + assign inst_v_o = inst_v_r; + reg ram_v_li; + bsg_mem_1rw_sync #( + .width_p(bp_me_pkg_cce_instr_width_gp), + .els_p(num_cce_instr_ram_els_p), + .latch_last_read_p(1) + ) inst_ram( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(ucode_v_i | ram_v_li), + .data_i(ucode_data_i), + .addr_i((ucode_v_i ? ucode_addr_i : fetch_pc_n)), + .w_i(ucode_w_i), + .data_o(inst_o) + ); + assign ucode_data_o = inst_o; + reg [1:0] fetch_state_r; + reg [1:0] fetch_state_n; + always @(posedge clk_i) + if (reset_i) begin + fetch_state_r <= 2'd0; + fetch_pc_r <= 1'sb0; + inst_v_r <= 1'sb0; + end + else begin + fetch_state_r <= fetch_state_n; + fetch_pc_r <= fetch_pc_n; + inst_v_r <= inst_v_n; + end + always @(*) begin + if (_sv2v_0) + ; + fetch_state_n = fetch_state_r; + fetch_pc_n = 1'sb0; + inst_v_n = 1'sb0; + ram_v_li = 1'sb0; + case (fetch_state_r) + 2'd0: fetch_state_n = 2'd1; + 2'd1: fetch_state_n = (cfg_bus_cast_i[1 + (hio_width_p + (did_width_p - 1))] == 1'd1 ? 2'd2 : 2'd1); + 2'd2: begin + fetch_state_n = 2'd3; + fetch_pc_n = 1'sb0; + ram_v_li = 1'b1; + inst_v_n = 1'b1; + end + 2'd3: begin + ram_v_li = ~stall_i; + fetch_pc_n = (stall_i ? fetch_pc_r : (mispredict_i ? branch_resolution_pc_i : predicted_fetch_pc_i)); + inst_v_n = 1'b1; + end + default: fetch_state_n = 2'd0; + endcase + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_inst_stall ( + decoded_inst_i, + lce_req_v_i, + lce_resp_v_i, + mem_rev_v_i, + pending_v_i, + lce_cmd_yumi_i, + mem_credits_empty_i, + msg_busy_i, + msg_pending_w_busy_i, + msg_lce_cmd_busy_i, + msg_lce_resp_busy_i, + msg_mem_rev_busy_i, + msg_spec_r_busy_i, + msg_dir_w_busy_i, + msg_mem_fwd_stall_i, + dir_busy_i, + stall_o +); + reg _sv2v_0; + input wire [214:0] decoded_inst_i; + input lce_req_v_i; + input lce_resp_v_i; + input mem_rev_v_i; + input pending_v_i; + input lce_cmd_yumi_i; + input mem_credits_empty_i; + input msg_busy_i; + input msg_pending_w_busy_i; + input msg_lce_cmd_busy_i; + input msg_lce_resp_busy_i; + input msg_mem_rev_busy_i; + input msg_spec_r_busy_i; + input msg_dir_w_busy_i; + input msg_mem_fwd_stall_i; + input dir_busy_i; + output reg stall_o; + wire [3:0] wfq_v_vec = {lce_req_v_i, lce_resp_v_i, mem_rev_v_i, pending_v_i}; + wire [3:0] wfq_mask = decoded_inst_i[101+:4]; + always @(*) begin + if (_sv2v_0) + ; + stall_o = 1'b0; + stall_o = stall_o | (decoded_inst_i[53] & ~lce_req_v_i); + stall_o = stall_o | (decoded_inst_i[52] & ~lce_resp_v_i); + stall_o = stall_o | (decoded_inst_i[51] & ~mem_rev_v_i); + stall_o = stall_o | (decoded_inst_i[50] & ~pending_v_i); + stall_o = stall_o | (decoded_inst_i[65] & (~lce_req_v_i & (decoded_inst_i[55-:2] == 2'b00))); + stall_o = stall_o | (decoded_inst_i[65] & (~lce_resp_v_i & (decoded_inst_i[55-:2] == 2'b11))); + stall_o = stall_o | (decoded_inst_i[65] & (~mem_rev_v_i & (decoded_inst_i[55-:2] == 2'b01))); + stall_o = stall_o | (decoded_inst_i[63] & (~lce_req_v_i & (decoded_inst_i[55-:2] == 2'b00))); + stall_o = stall_o | (decoded_inst_i[63] & (~lce_resp_v_i & (decoded_inst_i[55-:2] == 2'b11))); + stall_o = stall_o | (decoded_inst_i[63] & (~mem_rev_v_i & (decoded_inst_i[55-:2] == 2'b01))); + stall_o = stall_o | (decoded_inst_i[49] & ~lce_cmd_yumi_i); + stall_o = stall_o | (decoded_inst_i[44] & msg_mem_fwd_stall_i); + stall_o = stall_o | (decoded_inst_i[44] & mem_credits_empty_i); + stall_o = stall_o | (decoded_inst_i[82] & ~(|(wfq_mask & wfq_v_vec))); + stall_o = stall_o | dir_busy_i; + stall_o = stall_o | msg_busy_i; + stall_o = stall_o | (decoded_inst_i[80] & msg_pending_w_busy_i); + stall_o = stall_o | (decoded_inst_i[49] & msg_lce_cmd_busy_i); + stall_o = stall_o | (decoded_inst_i[52] & msg_lce_resp_busy_i); + stall_o = stall_o | (decoded_inst_i[51] & msg_mem_rev_busy_i); + stall_o = stall_o | (decoded_inst_i[77] & msg_spec_r_busy_i); + stall_o = stall_o | (decoded_inst_i[84] & msg_dir_w_busy_i); + stall_o = stall_o | (decoded_inst_i[85] & msg_dir_w_busy_i); + stall_o = stall_o & decoded_inst_i[214]; + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_msg ( + clk_i, + reset_i, + cfg_bus_i, + lce_req_header_i, + lce_req_data_i, + lce_req_v_i, + lce_req_yumi_o, + lce_req_new_i, + lce_req_last_i, + lce_resp_header_i, + lce_resp_data_i, + lce_resp_v_i, + lce_resp_yumi_o, + lce_resp_new_i, + lce_resp_last_i, + lce_cmd_header_o, + lce_cmd_data_o, + lce_cmd_v_o, + lce_cmd_ready_then_i, + lce_cmd_new_i, + lce_cmd_last_i, + mem_rev_header_i, + mem_rev_data_i, + mem_rev_v_i, + mem_rev_yumi_o, + mem_rev_new_i, + mem_rev_last_i, + mem_fwd_header_o, + mem_fwd_data_o, + mem_fwd_v_o, + mem_fwd_ready_then_i, + mem_fwd_new_i, + mem_fwd_last_i, + lce_i, + addr_i, + way_i, + coh_state_i, + sharers_v_i, + sharers_hits_i, + sharers_ways_i, + decoded_inst_i, + mshr_i, + src_a_i, + auto_fwd_msg_i, + pending_w_v_o, + pending_w_addr_o, + pending_w_addr_bypass_o, + pending_o, + spec_r_v_o, + spec_r_addr_o, + spec_r_addr_bypass_o, + spec_bits_i, + dir_addr_o, + dir_addr_bypass_o, + dir_lce_o, + dir_way_o, + dir_coh_state_o, + dir_w_cmd_o, + dir_w_v_o, + lce_cmd_busy_o, + lce_resp_busy_o, + mem_rev_busy_o, + mem_fwd_stall_o, + busy_o, + mem_credits_empty_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam block_size_in_bytes_lp = bedrock_block_width_p / 8; + localparam lg_block_size_in_bytes_lp = ((block_size_in_bytes_lp == 1) || (block_size_in_bytes_lp == 0) ? 1 : $clog2(block_size_in_bytes_lp)); + localparam lg_num_lce_lp = ((num_lce_p == 1) || (num_lce_p == 0) ? 1 : $clog2(num_lce_p)); + localparam num_way_groups_lp = ((cce_way_groups_p + num_cce_p) - 1) / num_cce_p; + localparam lg_num_way_groups_lp = ((num_way_groups_lp == 1) || (num_way_groups_lp == 0) ? 1 : $clog2(num_way_groups_lp)); + localparam mshr_width_lp = ((((2 * lce_id_width_p) + (3 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + (2 * paddr_width_p)) + 36) + did_width_p; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input [lce_req_header_width_lp - 1:0] lce_req_header_i; + input [bedrock_fill_width_p - 1:0] lce_req_data_i; + input lce_req_v_i; + output reg lce_req_yumi_o; + input lce_req_new_i; + input lce_req_last_i; + input [lce_resp_header_width_lp - 1:0] lce_resp_header_i; + input [bedrock_fill_width_p - 1:0] lce_resp_data_i; + input lce_resp_v_i; + output reg lce_resp_yumi_o; + input lce_resp_new_i; + input lce_resp_last_i; + output wire [lce_cmd_header_width_lp - 1:0] lce_cmd_header_o; + output reg [bedrock_fill_width_p - 1:0] lce_cmd_data_o; + output reg lce_cmd_v_o; + input lce_cmd_ready_then_i; + input lce_cmd_new_i; + input lce_cmd_last_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input [bedrock_fill_width_p - 1:0] mem_rev_data_i; + input mem_rev_v_i; + output reg mem_rev_yumi_o; + input mem_rev_new_i; + input mem_rev_last_i; + output wire [mem_fwd_header_width_lp - 1:0] mem_fwd_header_o; + output reg [bedrock_fill_width_p - 1:0] mem_fwd_data_o; + output reg mem_fwd_v_o; + input mem_fwd_ready_then_i; + input mem_fwd_new_i; + input mem_fwd_last_i; + input [lce_id_width_p - 1:0] lce_i; + input [paddr_width_p - 1:0] addr_i; + input [lce_assoc_width_p - 1:0] way_i; + input wire [2:0] coh_state_i; + input sharers_v_i; + input [num_lce_p - 1:0] sharers_hits_i; + input [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_i; + input wire [214:0] decoded_inst_i; + input [mshr_width_lp - 1:0] mshr_i; + input [63:0] src_a_i; + input auto_fwd_msg_i; + output reg pending_w_v_o; + output reg [paddr_width_p - 1:0] pending_w_addr_o; + output reg pending_w_addr_bypass_o; + output reg pending_o; + output reg spec_r_v_o; + output reg [paddr_width_p - 1:0] spec_r_addr_o; + output reg spec_r_addr_bypass_o; + input wire [5:0] spec_bits_i; + output reg [paddr_width_p - 1:0] dir_addr_o; + output reg dir_addr_bypass_o; + output reg [lce_id_width_p - 1:0] dir_lce_o; + output reg [lce_assoc_width_p - 1:0] dir_way_o; + output reg [2:0] dir_coh_state_o; + output reg [3:0] dir_w_cmd_o; + output reg dir_w_v_o; + output reg lce_cmd_busy_o; + output reg lce_resp_busy_o; + output reg mem_rev_busy_o; + output reg mem_fwd_stall_o; + output reg busy_o; + output wire mem_credits_empty_o; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_cast_i; + assign lce_req_header_cast_i = lce_req_header_i; + reg [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_cast_o; + assign lce_cmd_header_o = lce_cmd_header_cast_o; + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_resp_header_cast_i; + assign lce_resp_header_cast_i = lce_resp_header_i; + reg [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_cast_o; + assign mem_fwd_header_o = mem_fwd_header_cast_o; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_cast_i; + assign mem_rev_header_cast_i = mem_rev_header_i; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire cce_normal_mode_li = cfg_bus_cast_i[1 + (hio_width_p + (did_width_p - 1))] == 1'd1; + reg cce_normal_mode_r; + reg cce_normal_mode_n; + wire [(((((((((lce_id_width_p + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 22) + paddr_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + paddr_width_p) + 3) + lce_id_width_p) + did_width_p) + 10:0] mshr; + assign mshr = mshr_i; + wire [paddr_width_p - 1:0] addr_block_mask = {{paddr_width_p - lg_block_size_in_bytes_lp {1'b1}}, {lg_block_size_in_bytes_lp {1'b0}}}; + reg cnt_rst; + reg cnt_inc; + reg cnt_dec; + wire [$clog2({1'b0, num_lce_p + 1} + 1) - 1:0] cnt; + bsg_counter_up_down #( + .max_val_p(num_lce_p + 1), + .init_val_p(0), + .max_step_p(1) + ) counter( + .clk_i(clk_i), + .reset_i(reset_i | cnt_rst), + .up_i(cnt_inc), + .down_i(cnt_dec), + .count_o(cnt) + ); + wire [$clog2({1'b0, dma_noc_max_credits_p} + 1) - 1:0] mem_credit_count_lo; + bsg_flow_counter #( + .els_p(dma_noc_max_credits_p), + .ready_THEN_valid_p(1) + ) mem_credit_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(mem_fwd_v_o & mem_fwd_last_i), + .ready_param_i(mem_fwd_ready_then_i), + .yumi_i(mem_rev_yumi_o & mem_rev_last_i), + .count_o(mem_credit_count_lo) + ); + wire mem_credits_empty = mem_credit_count_lo == dma_noc_max_credits_p; + wire mem_credits_full = mem_credit_count_lo == 0; + assign mem_credits_empty_o = mem_credits_empty; + reg [paddr_width_p - 1:0] addr_r; + reg [paddr_width_p - 1:0] addr_n; + wire [num_lce_p - 1:0] req_lce_id_one_hot; + bsg_decode #(.num_out_p(num_lce_p)) req_lce_id_to_one_hot( + .i(mshr[(lce_id_width_p + (did_width_p + 10)) - (lce_id_width_p - 1)+:lg_num_lce_lp]), + .o(req_lce_id_one_hot) + ); + wire [num_lce_p - 1:0] owner_lce_id_one_hot; + bsg_decode #(.num_out_p(num_lce_p)) owner_lce_id_to_one_hot( + .i(mshr[(lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (lce_id_width_p - 1)+:lg_num_lce_lp]), + .o(owner_lce_id_one_hot) + ); + reg [num_lce_p - 1:0] pe_sharers_r; + reg [num_lce_p - 1:0] pe_sharers_n; + wire [lg_num_lce_lp - 1:0] pe_lce_id; + wire pe_v; + bsg_priority_encode #( + .width_p(num_lce_p), + .lo_to_hi_p(1) + ) sharers_pri_enc( + .i(pe_sharers_r), + .addr_o(pe_lce_id), + .v_o(pe_v) + ); + reg [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_r; + reg [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_n; + wire [num_lce_p - 1:0] pe_lce_id_one_hot; + bsg_decode #(.num_out_p(num_lce_p)) pe_lce_id_to_one_hot( + .i(pe_lce_id), + .o(pe_lce_id_one_hot) + ); + wire fwd_pma_cacheable_addr_lo; + bp_cce_pma #(.bp_params_p(bp_params_p)) fwd_pma( + .paddr_i(mem_fwd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]), + .cacheable_addr_o(fwd_pma_cacheable_addr_lo) + ); + wire rev_pma_cacheable_addr_lo; + bp_cce_pma #(.bp_params_p(bp_params_p)) rev_pma( + .paddr_i(mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]), + .cacheable_addr_o(rev_pma_cacheable_addr_lo) + ); + reg [3:0] state_n; + reg [3:0] state_r; + always @(posedge clk_i) + if (reset_i) begin + state_r <= 4'd0; + pe_sharers_r <= 1'sb0; + sharers_ways_r <= 1'sb0; + addr_r <= 1'sb0; + cce_normal_mode_r <= 1'sb0; + end + else begin + state_r <= state_n; + pe_sharers_r <= pe_sharers_n; + sharers_ways_r <= sharers_ways_n; + addr_r <= addr_n; + cce_normal_mode_r <= cce_normal_mode_n; + end + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + state_n = state_r; + pe_sharers_n = pe_sharers_r; + sharers_ways_n = sharers_ways_r; + addr_n = addr_r; + cce_normal_mode_n = cce_normal_mode_r; + mem_rev_yumi_o = 1'sb0; + mem_fwd_header_cast_o = 1'sb0; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = cfg_bus_cast_i[did_width_p - 1-:did_width_p]; + mem_fwd_data_o = 1'sb0; + mem_fwd_v_o = 1'sb0; + lce_req_yumi_o = 1'sb0; + lce_resp_yumi_o = 1'sb0; + lce_cmd_header_cast_o = 1'sb0; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))-:((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) >= (lce_id_width_p + (did_width_p + 0)) ? ((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) - (lce_id_width_p + (did_width_p + 0))) + 1 : ((lce_id_width_p + (did_width_p + 0)) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) + 1)] = cfg_bus_cast_i[cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))-:((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) >= (1 + (hio_width_p + (did_width_p + 0))) ? ((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) - (1 + (hio_width_p + (did_width_p + 0)))) + 1 : ((1 + (hio_width_p + (did_width_p + 0))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = cfg_bus_cast_i[did_width_p - 1-:did_width_p]; + lce_cmd_data_o = 1'sb0; + lce_cmd_v_o = 1'sb0; + pending_w_v_o = 1'sb0; + pending_w_addr_o = 1'sb0; + pending_w_addr_bypass_o = 1'sb0; + pending_o = 1'sb0; + spec_r_v_o = 1'sb0; + spec_r_addr_o = 1'sb0; + spec_r_addr_bypass_o = 1'sb0; + dir_addr_o = 1'sb0; + dir_addr_bypass_o = 1'sb0; + dir_lce_o = 1'sb0; + dir_way_o = 1'sb0; + dir_coh_state_o = 3'b000; + dir_w_cmd_o = 4'b0100; + dir_w_v_o = 1'sb0; + lce_cmd_busy_o = 1'sb0; + lce_resp_busy_o = 1'sb0; + mem_rev_busy_o = 1'sb0; + mem_fwd_stall_o = 1'sb0; + busy_o = 1'sb0; + cnt_inc = 1'sb0; + cnt_dec = 1'sb0; + cnt_rst = 1'sb0; + if (auto_fwd_msg_i | ~cce_normal_mode_r) begin + if (mem_rev_v_i) begin + if (mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) : (3 + (paddr_width_p + 8)) + 0)] && (mem_rev_header_cast_i[3-:4] == 4'b0000)) begin + spec_r_v_o = 1'b1; + spec_r_addr_o = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + if (spec_bits_i[5]) + ; + else if (spec_bits_i[4]) begin + mem_rev_busy_o = 1'b1; + mem_rev_yumi_o = mem_rev_v_i; + pending_w_v_o = (mem_rev_yumi_o & mem_rev_last_i) & rev_pma_cacheable_addr_lo; + pending_w_addr_o = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_o = 1'b0; + end + else if (spec_bits_i[3]) begin + lce_cmd_busy_o = 1'b1; + mem_rev_busy_o = 1'b1; + lce_cmd_v_o = lce_cmd_ready_then_i & mem_rev_v_i; + mem_rev_yumi_o = lce_cmd_v_o; + lce_cmd_header_cast_o[3-:4] = 4'b0100; + lce_cmd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + lce_cmd_header_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = mem_rev_header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = sv2v_cast_3(spec_bits_i[2-:3]); + lce_cmd_data_o = mem_rev_data_i; + pending_w_v_o = (mem_rev_yumi_o & mem_rev_last_i) & rev_pma_cacheable_addr_lo; + pending_w_addr_o = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_o = 1'b0; + end + else begin + lce_cmd_busy_o = 1'b1; + mem_rev_busy_o = 1'b1; + lce_cmd_v_o = lce_cmd_ready_then_i & mem_rev_v_i; + mem_rev_yumi_o = lce_cmd_v_o; + lce_cmd_header_cast_o[3-:4] = 4'b0100; + lce_cmd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + lce_cmd_header_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = mem_rev_header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) : (((3 + (paddr_width_p + 8)) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)) - 1)-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)]; + lce_cmd_data_o = mem_rev_data_i; + pending_w_v_o = (mem_rev_yumi_o & mem_rev_last_i) & rev_pma_cacheable_addr_lo; + pending_w_addr_o = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_o = 1'b0; + end + end + else if (mem_rev_header_cast_i[3-:4] == 4'b0000) begin + lce_cmd_busy_o = 1'b1; + mem_rev_busy_o = 1'b1; + lce_cmd_v_o = lce_cmd_ready_then_i & mem_rev_v_i; + mem_rev_yumi_o = lce_cmd_v_o; + lce_cmd_header_cast_o[3-:4] = (mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] ? 4'b1011 : 4'b0100); + lce_cmd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + lce_cmd_header_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = mem_rev_header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) : (((3 + (paddr_width_p + 8)) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)) - 1)-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)]; + lce_cmd_data_o = mem_rev_data_i; + pending_w_v_o = (mem_rev_yumi_o & mem_rev_last_i) & rev_pma_cacheable_addr_lo; + pending_w_addr_o = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_o = 1'b0; + end + else if (mem_rev_header_cast_i[3-:4] == 4'b0001) begin + if (mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)]) begin + lce_cmd_busy_o = 1'b1; + mem_rev_busy_o = 1'b1; + lce_cmd_v_o = lce_cmd_ready_then_i & mem_rev_v_i; + mem_rev_yumi_o = lce_cmd_v_o; + lce_cmd_header_cast_o[3-:4] = 4'b1100; + lce_cmd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + end + else begin + mem_rev_busy_o = 1'b1; + mem_rev_yumi_o = mem_rev_v_i; + end + pending_w_v_o = (mem_rev_yumi_o & mem_rev_last_i) & rev_pma_cacheable_addr_lo; + pending_w_addr_o = mem_rev_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_o = 1'b0; + end + end + end + if ((lce_resp_v_i & (lce_resp_header_cast_i[3-:4] == 4'b0010)) & ~pending_w_v_o) begin + lce_resp_yumi_o = lce_resp_v_i; + lce_resp_busy_o = 1'b1; + pending_w_v_o = lce_resp_yumi_o & lce_resp_last_i; + pending_w_addr_o = lce_resp_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_o = 1'b0; + end + (* full_case, parallel_case *) + case (state_r) + 4'd0: begin + state_n = 4'd1; + cce_normal_mode_n = 1'b0; + cnt_rst = 1'b1; + busy_o = 1'b1; + end + 4'd1: begin + busy_o = 1'b1; + cnt_rst = 1'b1; + if (cce_normal_mode_li) begin + if (~cce_normal_mode_r & mem_credits_full) begin + cce_normal_mode_n = 1'b1; + state_n = 4'd2; + end + end + else if (lce_req_v_i & ((lce_req_header_cast_i[3-:4] == 4'b0000) | (lce_req_header_cast_i[3-:4] == 4'b0001))) + state_n = 4'd5; + else if (lce_req_v_i & (lce_req_header_cast_i[3-:4] == 4'b0011)) begin + mem_fwd_v_o = mem_fwd_ready_then_i & ~mem_credits_empty; + lce_req_yumi_o = mem_fwd_v_o; + mem_fwd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = lce_req_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + mem_fwd_header_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = lce_req_header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + mem_fwd_header_cast_o[3-:4] = 4'b0001; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_req_header_cast_i[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)]; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = lce_req_header_cast_i[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = 1'b1; + mem_fwd_data_o = lce_req_data_i; + mem_fwd_stall_o = ~lce_req_yumi_o; + end + else if (lce_req_v_i & (lce_req_header_cast_i[3-:4] == 4'b0010)) begin + mem_fwd_v_o = mem_fwd_ready_then_i & ~mem_credits_empty; + lce_req_yumi_o = mem_fwd_v_o; + mem_fwd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = lce_req_header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + mem_fwd_header_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = lce_req_header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_req_header_cast_i[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)]; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = lce_req_header_cast_i[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = 1'b1; + mem_fwd_header_cast_o[3-:4] = 4'b0000; + mem_fwd_stall_o = ~lce_req_yumi_o; + end + end + 4'd2: + if (decoded_inst_i[39]) begin + state_n = 4'd3; + addr_n = addr_i; + pe_sharers_n = sharers_hits_i & ~req_lce_id_one_hot; + pe_sharers_n = (mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 6] | mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5] ? pe_sharers_n & ~owner_lce_id_one_hot : pe_sharers_n); + sharers_ways_n = sharers_ways_i; + cnt_rst = 1'b1; + end + else if (decoded_inst_i[53]) + lce_req_yumi_o = lce_req_v_i & ((decoded_inst_i[80] & ~pending_w_v_o) | ~decoded_inst_i[80]); + else if (decoded_inst_i[52]) + lce_resp_yumi_o = lce_resp_v_i & ((decoded_inst_i[80] & ~pending_w_v_o) | ~decoded_inst_i[80]); + else if (decoded_inst_i[51]) + mem_rev_yumi_o = mem_rev_v_i & ((decoded_inst_i[80] & ~pending_w_v_o) | ~decoded_inst_i[80]); + else if (decoded_inst_i[44]) begin + if ((decoded_inst_i[80] & ~pending_w_v_o) | ~decoded_inst_i[80]) begin + mem_fwd_header_cast_o[3-:4] = decoded_inst_i[43-:4]; + mem_fwd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = addr_i; + mem_fwd_header_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = mshr[10-:3]; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_i; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = way_i; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = mshr[did_width_p + 10-:((did_width_p + 10) >= 11 ? did_width_p + 0 : 12 - (did_width_p + 10))]; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) : (((3 + (paddr_width_p + 8)) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)) - 1)-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)] = mshr[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)]; + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) : (3 + (paddr_width_p + 8)) + 0)] = (decoded_inst_i[76] & decoded_inst_i[75]) & decoded_inst_i[71]; + (* full_case, parallel_case *) + case (decoded_inst_i[43-:4]) + 4'b0000: begin + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]; + mem_fwd_v_o = mem_fwd_ready_then_i & ~mem_credits_empty; + mem_fwd_stall_o = ~(mem_fwd_v_o & mem_fwd_last_i); + end + 4'b0001: begin + if (decoded_inst_i[198-:4] == 4'b1000) begin + mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = 1'b1; + mem_fwd_data_o = lce_req_data_i; + mem_fwd_v_o = (mem_fwd_ready_then_i & lce_req_v_i) & ~mem_credits_empty; + lce_req_yumi_o = mem_fwd_v_o; + end + else begin + mem_fwd_data_o = lce_resp_data_i; + mem_fwd_v_o = (mem_fwd_ready_then_i & lce_resp_v_i) & ~mem_credits_empty; + lce_resp_yumi_o = mem_fwd_v_o; + end + mem_fwd_stall_o = ~(mem_fwd_v_o & mem_fwd_last_i); + end + 4'b1000: mem_fwd_header_cast_o[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 0) : (3 + (paddr_width_p + 8)) - 2)] = 1'b1; + default: + ; + endcase + end + end + else if (decoded_inst_i[49]) begin + if (~lce_cmd_busy_o) begin + lce_cmd_v_o = lce_cmd_ready_then_i; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = lce_i; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + lce_cmd_header_cast_o[3-:4] = decoded_inst_i[48-:4]; + lce_cmd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = addr_i; + lce_cmd_data_o = mem_rev_data_i; + if (decoded_inst_i[61]) + lce_cmd_header_cast_o[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = decoded_inst_i[60-:3]; + else begin + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = way_i; + if (((decoded_inst_i[48-:4] == 4'b0011) | (decoded_inst_i[48-:4] == 4'b0101)) | (decoded_inst_i[48-:4] == 4'b0111)) + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = coh_state_i; + if ((decoded_inst_i[48-:4] == 4'b1001) | (decoded_inst_i[48-:4] == 4'b1010)) + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = mshr[22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]; + if (((decoded_inst_i[48-:4] == 4'b1000) | (decoded_inst_i[48-:4] == 4'b1001)) | (decoded_inst_i[48-:4] == 4'b1010)) begin + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))))) + 1)] = coh_state_i; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))-:((lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) >= (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) ? ((lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))) + 1 : ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) - (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))) + 1)] = mshr[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))) >= (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))) - (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))))) + 1 : ((lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))) + 1)] = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + end + end + end + end + 4'd3: begin + busy_o = 1'b1; + if (~lce_cmd_busy_o) begin + lce_cmd_v_o = lce_cmd_ready_then_i; + lce_cmd_header_cast_o[3-:4] = 4'b0010; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = pe_lce_id; + lce_cmd_header_cast_o[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = sharers_ways_r[pe_lce_id * lce_assoc_width_p+:lce_assoc_width_p]; + lce_cmd_header_cast_o[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = addr_r & addr_block_mask; + dir_w_v_o = lce_cmd_v_o; + dir_w_cmd_o = 4'b1000; + dir_addr_o = addr_r & addr_block_mask; + dir_addr_bypass_o = 1'sb0; + dir_lce_o = {1'sb0, pe_lce_id}; + dir_way_o = sharers_ways_r[pe_lce_id * lce_assoc_width_p+:lce_assoc_width_p]; + dir_coh_state_o = 3'b000; + cnt_inc = dir_w_v_o; + pe_sharers_n = (cnt_inc ? pe_sharers_r & ~pe_lce_id_one_hot : pe_sharers_r); + state_n = (cnt_inc & (pe_sharers_n == {num_lce_p {1'sb0}}) ? 4'd4 : 4'd3); + end + if (lce_resp_v_i & (lce_resp_header_cast_i[3-:4] == 4'b0001)) begin + lce_resp_yumi_o = lce_resp_v_i; + cnt_dec = 1'b1; + end + end + 4'd4: begin + busy_o = 1'b1; + if (cnt == {$clog2({1'b0, num_lce_p + 1} + 1) {1'sb0}}) + state_n = 4'd2; + else if (lce_resp_v_i & (lce_resp_header_cast_i[3-:4] == 4'b0001)) begin + lce_resp_yumi_o = lce_resp_v_i; + if (cnt == 'd1) begin + state_n = 4'd2; + cnt_rst = 1'b1; + end + else + cnt_dec = 1'b1; + end + end + 4'd5: begin + busy_o = 1'b1; + state_n = 4'd5; + end + default: state_n = 4'd0; + endcase + end + always @(negedge clk_i) + if (~reset_i) begin + if ((state_r == 4'd3) & ~pe_v) + $display("Error [%0t] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_msg.sv:903:9 - bp_cce_msg...\n msg: ", $time, "bp_cce_msg bad sharers list for invalidate command"); + if ((state_r == 4'd2) & decoded_inst_i[61]) + $display("Error [%0t] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_msg.sv:906:9 - bp_cce_msg...\n msg: ", $time, "custom push commands not yet supported"); + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_pending_bits ( + clk_i, + reset_i, + w_v_i, + w_addr_i, + w_addr_bypass_hash_i, + pending_i, + clear_i, + r_v_i, + r_addr_i, + r_addr_bypass_hash_i, + pending_o, + cce_id_i +); + reg _sv2v_0; + parameter num_way_groups_p = 0; + parameter cce_way_groups_p = 0; + parameter num_cce_p = 0; + parameter paddr_width_p = 0; + parameter addr_offset_p = 0; + parameter cce_id_width_p = 0; + parameter width_p = 3; + localparam lg_num_way_groups_lp = ((num_way_groups_p == 1) || (num_way_groups_p == 0) ? 1 : $clog2(num_way_groups_p)); + localparam lg_cce_way_groups_lp = ((cce_way_groups_p == 1) || (cce_way_groups_p == 0) ? 1 : $clog2(cce_way_groups_p)); + localparam hash_idx_width_lp = $clog2((((2 ** lg_cce_way_groups_lp) + num_cce_p) - 1) / num_cce_p); + input clk_i; + input reset_i; + input w_v_i; + input [paddr_width_p - 1:0] w_addr_i; + input w_addr_bypass_hash_i; + input pending_i; + input clear_i; + input r_v_i; + input [paddr_width_p - 1:0] r_addr_i; + input r_addr_bypass_hash_i; + output wire pending_o; + input [cce_id_width_p - 1:0] cce_id_i; + wire [hash_idx_width_lp - 1:0] r_wg_lo; + wire [hash_idx_width_lp - 1:0] w_wg_lo; + function automatic [lg_cce_way_groups_lp - 1:0] _sv2v_strm_r_addr_rev; + input reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_out; + integer _sv2v_strm_BEEC1_idx; + begin + _sv2v_strm_BEEC1_inp = {inp}; + for (_sv2v_strm_BEEC1_idx = 0; _sv2v_strm_BEEC1_idx <= ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1); _sv2v_strm_BEEC1_idx = _sv2v_strm_BEEC1_idx + 1) + _sv2v_strm_BEEC1_out[((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1) - _sv2v_strm_BEEC1_idx-:1] = _sv2v_strm_BEEC1_inp[_sv2v_strm_BEEC1_idx+:1]; + _sv2v_strm_r_addr_rev = ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) <= lg_cce_way_groups_lp ? _sv2v_strm_BEEC1_out << (lg_cce_way_groups_lp - (0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1))) : _sv2v_strm_BEEC1_out >> ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - lg_cce_way_groups_lp)); + end + endfunction + wire [lg_cce_way_groups_lp - 1:0] r_addr_rev = _sv2v_strm_r_addr_rev({r_addr_i[addr_offset_p+:lg_cce_way_groups_lp]}); + function automatic [lg_cce_way_groups_lp - 1:0] _sv2v_strm_w_addr_rev; + input reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_out; + integer _sv2v_strm_BEEC1_idx; + begin + _sv2v_strm_BEEC1_inp = {inp}; + for (_sv2v_strm_BEEC1_idx = 0; _sv2v_strm_BEEC1_idx <= ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1); _sv2v_strm_BEEC1_idx = _sv2v_strm_BEEC1_idx + 1) + _sv2v_strm_BEEC1_out[((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1) - _sv2v_strm_BEEC1_idx-:1] = _sv2v_strm_BEEC1_inp[_sv2v_strm_BEEC1_idx+:1]; + _sv2v_strm_w_addr_rev = ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) <= lg_cce_way_groups_lp ? _sv2v_strm_BEEC1_out << (lg_cce_way_groups_lp - (0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1))) : _sv2v_strm_BEEC1_out >> ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - lg_cce_way_groups_lp)); + end + endfunction + wire [lg_cce_way_groups_lp - 1:0] w_addr_rev = _sv2v_strm_w_addr_rev({w_addr_i[addr_offset_p+:lg_cce_way_groups_lp]}); + wire [lg_num_way_groups_lp - 1:0] r_wg; + wire [lg_num_way_groups_lp - 1:0] w_wg; + bsg_hash_bank #( + .banks_p(num_cce_p), + .width_p(lg_cce_way_groups_lp) + ) r_addr_hash( + .i(r_addr_rev), + .bank_o(), + .index_o(r_wg_lo) + ); + bsg_hash_bank #( + .banks_p(num_cce_p), + .width_p(lg_cce_way_groups_lp) + ) w_addr_hash( + .i(w_addr_rev), + .bank_o(), + .index_o(w_wg_lo) + ); + assign r_wg = (r_addr_bypass_hash_i ? r_addr_i[0+:lg_num_way_groups_lp] : r_wg_lo[0+:lg_num_way_groups_lp]); + assign w_wg = (w_addr_bypass_hash_i ? w_addr_i[0+:lg_num_way_groups_lp] : w_wg_lo[0+:lg_num_way_groups_lp]); + reg [(num_way_groups_p * width_p) - 1:0] pending_bits_r; + reg [(num_way_groups_p * width_p) - 1:0] pending_bits_n; + always @(posedge clk_i) + if (reset_i) + pending_bits_r <= 1'sb0; + else + pending_bits_r <= pending_bits_n; + always @(*) begin + if (_sv2v_0) + ; + pending_bits_n = pending_bits_r; + if (w_v_i) begin + if (clear_i) + pending_bits_n[w_wg * width_p+:width_p] = 1'sb0; + else if (pending_i) + pending_bits_n[w_wg * width_p+:width_p] = pending_bits_r[w_wg * width_p+:width_p] + 'd1; + else + pending_bits_n[w_wg * width_p+:width_p] = pending_bits_r[w_wg * width_p+:width_p] - 'd1; + end + end + assign pending_o = ((r_v_i & w_v_i) & (w_wg == r_wg) ? ~(pending_bits_n[r_wg * width_p+:width_p] == 0) : ~(pending_bits_r[r_wg * width_p+:width_p] == 0)); + initial _sv2v_0 = 0; +endmodule +module bp_cce_pma ( + paddr_i, + cacheable_addr_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input [paddr_width_p - 1:0] paddr_i; + output wire cacheable_addr_o; + localparam bp_common_pkg_dram_base_addr_gp = 40'h0080000000; + assign cacheable_addr_o = (paddr_i >= bp_common_pkg_dram_base_addr_gp) && ~|paddr_i[paddr_width_p - 1:caddr_width_p]; +endmodule +module bp_cce_reg ( + clk_i, + reset_i, + decoded_inst_i, + dir_lru_v_i, + dir_addr_v_i, + stall_i, + src_a_i, + alu_res_i, + lce_req_header_i, + lce_req_v_i, + lce_resp_header_i, + mem_rev_header_i, + pending_i, + dir_lru_coh_state_i, + dir_lru_addr_i, + dir_addr_i, + dir_addr_dst_gpr_i, + gad_req_addr_way_i, + gad_owner_lce_i, + gad_owner_way_i, + gad_owner_coh_state_i, + gad_replacement_flag_i, + gad_upgrade_flag_i, + gad_cached_shared_flag_i, + gad_cached_exclusive_flag_i, + gad_cached_modified_flag_i, + gad_cached_owned_flag_i, + gad_cached_forward_flag_i, + spec_sf_i, + mshr_o, + gpr_o, + coh_state_o, + auto_fwd_msg_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam block_size_in_bytes_lp = bedrock_block_width_p / 8; + localparam lg_block_size_in_bytes_lp = ((block_size_in_bytes_lp == 1) || (block_size_in_bytes_lp == 0) ? 1 : $clog2(block_size_in_bytes_lp)); + localparam mshr_width_lp = ((((2 * lce_id_width_p) + (3 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + (2 * paddr_width_p)) + 36) + did_width_p; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + input clk_i; + input reset_i; + input wire [214:0] decoded_inst_i; + input dir_lru_v_i; + input dir_addr_v_i; + input stall_i; + input [63:0] src_a_i; + input [63:0] alu_res_i; + input [lce_req_header_width_lp - 1:0] lce_req_header_i; + input lce_req_v_i; + input [lce_resp_header_width_lp - 1:0] lce_resp_header_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input pending_i; + input wire [2:0] dir_lru_coh_state_i; + input [paddr_width_p - 1:0] dir_lru_addr_i; + input [paddr_width_p - 1:0] dir_addr_i; + input wire [3:0] dir_addr_dst_gpr_i; + input [lce_assoc_width_p - 1:0] gad_req_addr_way_i; + input [lce_id_width_p - 1:0] gad_owner_lce_i; + input [lce_assoc_width_p - 1:0] gad_owner_way_i; + input wire [2:0] gad_owner_coh_state_i; + input gad_replacement_flag_i; + input gad_upgrade_flag_i; + input gad_cached_shared_flag_i; + input gad_cached_exclusive_flag_i; + input gad_cached_modified_flag_i; + input gad_cached_owned_flag_i; + input gad_cached_forward_flag_i; + input spec_sf_i; + output wire [mshr_width_lp - 1:0] mshr_o; + output wire [511:0] gpr_o; + output wire [2:0] coh_state_o; + output wire auto_fwd_msg_o; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_hdr; + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_resp_hdr; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_hdr; + assign lce_req_hdr = lce_req_header_i; + assign lce_resp_hdr = lce_resp_header_i; + assign mem_rev_hdr = mem_rev_header_i; + reg [(((((((((lce_id_width_p + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 22) + paddr_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + paddr_width_p) + 3) + lce_id_width_p) + did_width_p) + 10:0] mshr_r; + reg [(((((((((lce_id_width_p + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 22) + paddr_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + paddr_width_p) + 3) + lce_id_width_p) + did_width_p) + 10:0] mshr_n; + reg [511:0] gpr_r; + reg [63:0] gpr_next; + reg [2:0] coh_state_r; + reg [2:0] coh_state_n; + reg auto_fwd_msg_r; + reg auto_fwd_msg_n; + assign mshr_o = mshr_r; + assign gpr_o = gpr_r; + assign coh_state_o = coh_state_r; + assign auto_fwd_msg_o = auto_fwd_msg_r; + wire req_pma_cacheable_addr_lo; + bp_cce_pma #(.bp_params_p(bp_params_p)) req_pma( + .paddr_i(lce_req_hdr[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]), + .cacheable_addr_o(req_pma_cacheable_addr_lo) + ); + always @(negedge clk_i) + if (~reset_i) + ; + reg [7:0] gpr_w_mask; + wire mov_op = decoded_inst_i[211-:3] == 3'b010; + wire queue_op = decoded_inst_i[211-:3] == 3'b110; + wire lce_req_rqf = (lce_req_hdr[3-:4] == 4'b0001) | (lce_req_hdr[3-:4] == 4'b0011); + wire lce_req_ucf = (lce_req_hdr[3-:4] == 4'b0010) | (lce_req_hdr[3-:4] == 4'b0011); + wire lce_resp_nwbf = lce_resp_hdr[3-:4] == 4'b0100; + wire lce_req_nerf = lce_req_hdr[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))))] == 1'b1; + wire write_all_flags = (decoded_inst_i[200-:2] == 2'd2) & (decoded_inst_i[204-:4] == 4'b1000); + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + mshr_n = mshr_r; + gpr_next = 1'sb0; + auto_fwd_msg_n = src_a_i[0]; + coh_state_n = sv2v_cast_3(src_a_i[0+:3]); + gpr_w_mask = (stall_i ? {8 {1'sb0}} : decoded_inst_i[38-:8]); + if (dir_addr_v_i) + gpr_w_mask[dir_addr_dst_gpr_i[0+:3]] = 1'b1; + gpr_next = alu_res_i; + if (dir_addr_v_i) + gpr_next = {1'sb0, dir_addr_i}; + else if (mov_op | queue_op) + gpr_next = src_a_i; + if (decoded_inst_i[30]) begin + mshr_n = 1'sb0; + mshr_n[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)] = coh_state_r; + end + else begin + mshr_n = mshr_r; + mshr_n[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)] = src_a_i[0+:lce_id_width_p]; + mshr_n[did_width_p + 10-:((did_width_p + 10) >= 11 ? did_width_p + 0 : 12 - (did_width_p + 10))] = src_a_i[lce_id_width_p+:did_width_p]; + mshr_n[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)] = src_a_i[0+:paddr_width_p]; + mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)] = src_a_i[0+:lce_assoc_width_p]; + mshr_n[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)] = sv2v_cast_3(src_a_i[0+:3]); + mshr_n[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] = sv2v_cast_3(src_a_i[0+:3]); + mshr_n[10-:3] = sv2v_cast_3(src_a_i[0+:3]); + mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)] = src_a_i[0+:lce_id_width_p]; + mshr_n[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)] = src_a_i[0+:lce_id_width_p]; + mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)] = src_a_i[0+:lce_assoc_width_p]; + mshr_n[22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] = sv2v_cast_3(src_a_i[0+:3]); + mshr_n[paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))-:((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) ? ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) + 1)] = src_a_i[0+:paddr_width_p]; + begin : sv2v_autoblock_1 + reg signed [31:0] i; + for (i = 0; i < 16; i = i + 1) + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (15 - i)] = src_a_i[0]; + end + if (decoded_inst_i[65]) + (* full_case, parallel_case *) + case (decoded_inst_i[55-:2]) + 2'b00: begin + mshr_n[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)] = lce_req_hdr[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)]; + mshr_n[did_width_p + 10-:((did_width_p + 10) >= 11 ? did_width_p + 0 : 12 - (did_width_p + 10))] = lce_req_hdr[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + mshr_n[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)] = lce_req_hdr[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)] = lce_req_hdr[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))) >= (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p + 0)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))) - (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p + 0))))) + 1 : ((1 + (lce_id_width_p + (cce_id_width_p + (did_width_p + 0)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))))) + 1)]; + mshr_n[10-:3] = lce_req_hdr[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15] = lce_req_rqf; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] = lce_req_ucf; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 13] = lce_req_nerf; + mshr_n[19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))] = req_pma_cacheable_addr_lo; + end + 2'b11: mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 12] = lce_resp_nwbf; + 2'b01: mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 10] = mem_rev_hdr[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) : (3 + (paddr_width_p + 8)) + 0)]; + default: + ; + endcase + else if (decoded_inst_i[83]) begin + mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)] = gad_req_addr_way_i; + mshr_n[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)] = gad_owner_lce_i; + mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)] = gad_owner_way_i; + mshr_n[22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] = gad_owner_coh_state_i; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 4] = gad_replacement_flag_i; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3] = gad_upgrade_flag_i; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 9] = gad_cached_shared_flag_i; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8] = gad_cached_exclusive_flag_i; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7] = gad_cached_modified_flag_i; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 6] = gad_cached_owned_flag_i; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5] = gad_cached_forward_flag_i; + end + if (dir_lru_v_i) begin + mshr_n[paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))-:((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) ? ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) + 1)] = dir_lru_addr_i; + mshr_n[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] = dir_lru_coh_state_i; + end + if (decoded_inst_i[81]) + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 11] = pending_i; + if (decoded_inst_i[77]) + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 10] = spec_sf_i; + if (write_all_flags) + mshr_n[19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] = src_a_i[0+:16]; + end + end + always @(posedge clk_i) + if (reset_i) begin + mshr_r <= 1'sb0; + gpr_r <= 1'sb0; + coh_state_r <= 3'b000; + auto_fwd_msg_r <= 1'b1; + end + else begin + if (~stall_i & decoded_inst_i[1]) + auto_fwd_msg_r <= auto_fwd_msg_n; + if (~stall_i & decoded_inst_i[2]) + coh_state_r <= coh_state_n; + begin : sv2v_autoblock_2 + reg signed [31:0] i; + for (i = 0; i < 8; i = i + 1) + if (gpr_w_mask[i]) + gpr_r[i * 64+:64] <= gpr_next; + end + if (~stall_i & decoded_inst_i[30]) + mshr_r <= mshr_n; + else begin + if (~stall_i & decoded_inst_i[29]) begin + mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)] <= mshr_n[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + mshr_r[did_width_p + 10-:((did_width_p + 10) >= 11 ? did_width_p + 0 : 12 - (did_width_p + 10))] <= mshr_n[did_width_p + 10-:((did_width_p + 10) >= 11 ? did_width_p + 0 : 12 - (did_width_p + 10))]; + end + if (~stall_i & decoded_inst_i[28]) + mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)] <= mshr_n[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + if (~stall_i & decoded_inst_i[27]) + mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)] <= mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + if (~stall_i & decoded_inst_i[25]) + mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)] <= mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + if ((~stall_i & decoded_inst_i[26]) | dir_lru_v_i) + mshr_r[paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))-:((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) ? ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) + 1)] <= mshr_n[paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))-:((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) ? ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) + 1)]; + if ((~stall_i & decoded_inst_i[21]) | dir_lru_v_i) + mshr_r[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] <= mshr_n[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]; + if (~stall_i & decoded_inst_i[24]) + mshr_r[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)] <= mshr_n[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)]; + if (~stall_i & decoded_inst_i[23]) + mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)] <= mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)]; + if (~stall_i & decoded_inst_i[20]) + mshr_r[22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] <= mshr_n[22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]; + if (~stall_i & decoded_inst_i[22]) + mshr_r[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)] <= mshr_n[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)]; + begin : sv2v_autoblock_3 + reg signed [31:0] i; + for (i = 0; i < 16; i = i + 1) + if (~stall_i & decoded_inst_i[4 + i]) + mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (15 - i)] <= mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (15 - i)]; + end + if (~stall_i & decoded_inst_i[3]) + mshr_r[10-:3] <= mshr_n[10-:3]; + end + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_spec_bits ( + clk_i, + reset_i, + w_v_i, + w_addr_i, + w_addr_bypass_hash_i, + spec_v_i, + squash_v_i, + fwd_mod_v_i, + state_v_i, + spec_i, + r_v_i, + r_addr_i, + r_addr_bypass_hash_i, + spec_o +); + reg _sv2v_0; + parameter num_way_groups_p = 0; + parameter cce_way_groups_p = 0; + parameter num_cce_p = 0; + parameter paddr_width_p = 0; + parameter addr_offset_p = 0; + localparam lg_num_way_groups_lp = ((num_way_groups_p == 1) || (num_way_groups_p == 0) ? 1 : $clog2(num_way_groups_p)); + localparam lg_cce_way_groups_lp = ((cce_way_groups_p == 1) || (cce_way_groups_p == 0) ? 1 : $clog2(cce_way_groups_p)); + localparam hash_idx_width_lp = $clog2((((2 ** lg_cce_way_groups_lp) + num_cce_p) - 1) / num_cce_p); + input clk_i; + input reset_i; + input w_v_i; + input [paddr_width_p - 1:0] w_addr_i; + input w_addr_bypass_hash_i; + input spec_v_i; + input squash_v_i; + input fwd_mod_v_i; + input state_v_i; + input wire [5:0] spec_i; + input r_v_i; + input [paddr_width_p - 1:0] r_addr_i; + input r_addr_bypass_hash_i; + output wire [5:0] spec_o; + wire [hash_idx_width_lp - 1:0] r_wg_lo; + wire [hash_idx_width_lp - 1:0] w_wg_lo; + function automatic [lg_cce_way_groups_lp - 1:0] _sv2v_strm_r_addr_rev; + input reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_out; + integer _sv2v_strm_BEEC1_idx; + begin + _sv2v_strm_BEEC1_inp = {inp}; + for (_sv2v_strm_BEEC1_idx = 0; _sv2v_strm_BEEC1_idx <= ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1); _sv2v_strm_BEEC1_idx = _sv2v_strm_BEEC1_idx + 1) + _sv2v_strm_BEEC1_out[((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1) - _sv2v_strm_BEEC1_idx-:1] = _sv2v_strm_BEEC1_inp[_sv2v_strm_BEEC1_idx+:1]; + _sv2v_strm_r_addr_rev = ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) <= lg_cce_way_groups_lp ? _sv2v_strm_BEEC1_out << (lg_cce_way_groups_lp - (0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1))) : _sv2v_strm_BEEC1_out >> ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - lg_cce_way_groups_lp)); + end + endfunction + wire [lg_cce_way_groups_lp - 1:0] r_addr_rev = _sv2v_strm_r_addr_rev({r_addr_i[addr_offset_p+:lg_cce_way_groups_lp]}); + function automatic [lg_cce_way_groups_lp - 1:0] _sv2v_strm_w_addr_rev; + input reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_out; + integer _sv2v_strm_BEEC1_idx; + begin + _sv2v_strm_BEEC1_inp = {inp}; + for (_sv2v_strm_BEEC1_idx = 0; _sv2v_strm_BEEC1_idx <= ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1); _sv2v_strm_BEEC1_idx = _sv2v_strm_BEEC1_idx + 1) + _sv2v_strm_BEEC1_out[((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - 1) - _sv2v_strm_BEEC1_idx-:1] = _sv2v_strm_BEEC1_inp[_sv2v_strm_BEEC1_idx+:1]; + _sv2v_strm_w_addr_rev = ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) <= lg_cce_way_groups_lp ? _sv2v_strm_BEEC1_out << (lg_cce_way_groups_lp - (0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1))) : _sv2v_strm_BEEC1_out >> ((0 + ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) ? ((0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1) - (0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p)) + 1 : ((0 >= (paddr_width_p - 1) ? (addr_offset_p + lg_cce_way_groups_lp) - 1 : addr_offset_p) - (0 >= (paddr_width_p - 1) ? addr_offset_p : (addr_offset_p + lg_cce_way_groups_lp) - 1)) + 1)) - lg_cce_way_groups_lp)); + end + endfunction + wire [lg_cce_way_groups_lp - 1:0] w_addr_rev = _sv2v_strm_w_addr_rev({w_addr_i[addr_offset_p+:lg_cce_way_groups_lp]}); + wire [lg_num_way_groups_lp - 1:0] r_wg; + wire [lg_num_way_groups_lp - 1:0] w_wg; + bsg_hash_bank #( + .banks_p(num_cce_p), + .width_p(lg_cce_way_groups_lp) + ) r_addr_hash( + .i(r_addr_rev), + .bank_o(), + .index_o(r_wg_lo) + ); + bsg_hash_bank #( + .banks_p(num_cce_p), + .width_p(lg_cce_way_groups_lp) + ) w_addr_hash( + .i(w_addr_rev), + .bank_o(), + .index_o(w_wg_lo) + ); + assign r_wg = (r_addr_bypass_hash_i ? r_addr_i[0+:lg_num_way_groups_lp] : r_wg_lo[0+:lg_num_way_groups_lp]); + assign w_wg = (w_addr_bypass_hash_i ? w_addr_i[0+:lg_num_way_groups_lp] : w_wg_lo[0+:lg_num_way_groups_lp]); + reg [(num_way_groups_p * 6) - 1:0] spec_bits_r; + reg [(num_way_groups_p * 6) - 1:0] spec_bits_n; + always @(posedge clk_i) + if (reset_i) + spec_bits_r <= 1'sb0; + else + spec_bits_r <= spec_bits_n; + always @(*) begin + if (_sv2v_0) + ; + if (reset_i) + spec_bits_n = 1'sb0; + else begin + spec_bits_n = spec_bits_r; + if (w_v_i) begin + if (spec_v_i) + spec_bits_n[(w_wg * 6) + 5] = spec_i[5]; + if (squash_v_i) + spec_bits_n[(w_wg * 6) + 4] = spec_i[4]; + if (fwd_mod_v_i) + spec_bits_n[(w_wg * 6) + 3] = spec_i[3]; + if (state_v_i) + spec_bits_n[(w_wg * 6) + 2-:3] = spec_i[2-:3]; + end + end + end + wire unused0 = r_v_i; + assign spec_o = spec_bits_r[r_wg * 6+:6]; + initial _sv2v_0 = 0; +endmodule +module bp_cce_src_sel ( + src_a_sel_i, + src_a_i, + src_b_sel_i, + src_b_i, + addr_sel_i, + lce_sel_i, + way_sel_i, + lru_way_sel_i, + coh_state_sel_i, + cfg_bus_i, + mshr_i, + gpr_i, + imm_i, + auto_fwd_msg_i, + coh_state_default_i, + sharers_hits_i, + sharers_ways_i, + sharers_coh_states_i, + mem_rev_v_i, + lce_resp_v_i, + lce_req_v_i, + lce_req_header_i, + lce_resp_header_i, + mem_rev_header_i, + lce_req_data_i, + lce_resp_data_i, + mem_rev_data_i, + src_a_o, + src_b_o, + addr_o, + addr_bypass_o, + lce_o, + way_o, + lru_way_o, + state_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam mshr_width_lp = ((((2 * lce_id_width_p) + (3 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + (2 * paddr_width_p)) + 36) + did_width_p; + localparam num_way_groups_lp = ((cce_way_groups_p + num_cce_p) - 1) / num_cce_p; + localparam lg_num_way_groups_lp = ((num_way_groups_lp == 1) || (num_way_groups_lp == 0) ? 1 : $clog2(num_way_groups_lp)); + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + input wire [2:0] src_a_sel_i; + input wire [3:0] src_a_i; + input wire [2:0] src_b_sel_i; + input wire [3:0] src_b_i; + input wire [3:0] addr_sel_i; + input wire [3:0] lce_sel_i; + input wire [3:0] way_sel_i; + input wire [3:0] lru_way_sel_i; + input wire [3:0] coh_state_sel_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input [mshr_width_lp - 1:0] mshr_i; + input [511:0] gpr_i; + input [63:0] imm_i; + input auto_fwd_msg_i; + input wire [2:0] coh_state_default_i; + input [num_lce_p - 1:0] sharers_hits_i; + input [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_i; + input wire [(num_lce_p * 3) - 1:0] sharers_coh_states_i; + input mem_rev_v_i; + input lce_resp_v_i; + input lce_req_v_i; + input [lce_req_header_width_lp - 1:0] lce_req_header_i; + input [lce_resp_header_width_lp - 1:0] lce_resp_header_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input [bedrock_fill_width_p - 1:0] lce_req_data_i; + input [bedrock_fill_width_p - 1:0] lce_resp_data_i; + input [bedrock_fill_width_p - 1:0] mem_rev_data_i; + output reg [63:0] src_a_o; + output reg [63:0] src_b_o; + output reg [paddr_width_p - 1:0] addr_o; + output reg addr_bypass_o; + output reg [lce_id_width_p - 1:0] lce_o; + output reg [lce_assoc_width_p - 1:0] way_o; + output reg [lce_assoc_width_p - 1:0] lru_way_o; + output reg [2:0] state_o; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast; + assign cfg_bus_cast = cfg_bus_i; + wire [(((((((((lce_id_width_p + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 22) + paddr_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + paddr_width_p) + 3) + lce_id_width_p) + did_width_p) + 10:0] mshr; + assign mshr = mshr_i; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_li; + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_resp_header_li; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_li; + assign lce_req_header_li = lce_req_header_i; + assign lce_resp_header_li = lce_resp_header_i; + assign mem_rev_header_li = mem_rev_header_i; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + src_a_o = 1'sb0; + (* full_case, parallel_case *) + case (src_a_sel_i) + 3'd0: + (* full_case, parallel_case *) + case (src_a_i[3-:4]) + 4'b0000: src_a_o = gpr_i[0+:64]; + 4'b0001: src_a_o = gpr_i[64+:64]; + 4'b0010: src_a_o = gpr_i[128+:64]; + 4'b0011: src_a_o = gpr_i[192+:64]; + 4'b0100: src_a_o = gpr_i[256+:64]; + 4'b0101: src_a_o = gpr_i[320+:64]; + 4'b0110: src_a_o = gpr_i[384+:64]; + 4'b0111: src_a_o = gpr_i[448+:64]; + default: src_a_o = 1'sb0; + endcase + 3'd1: + (* full_case, parallel_case *) + case (src_a_i[3-:4]) + 4'b0000: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15]; + 4'b0001: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]; + 4'b0010: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 13]; + 4'b0011: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 12]; + 4'b0100: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 11]; + 4'b0101: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 10]; + 4'b0110: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 9]; + 4'b0111: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8]; + 4'b1000: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7]; + 4'b1001: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 6]; + 4'b1010: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5]; + 4'b1011: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 4]; + 4'b1100: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3]; + 4'b1101: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2]; + 4'b1110: src_a_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 1]; + 4'b1111: src_a_o[0] = mshr[19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))]; + default: src_a_o = 1'sb0; + endcase + 3'd2: + (* full_case, parallel_case *) + case (src_a_i[3-:4]) + 4'b0000: src_a_o[0+:did_width_p + lce_id_width_p] = {mshr[did_width_p + 10-:((did_width_p + 10) >= 11 ? did_width_p + 0 : 12 - (did_width_p + 10))], mshr[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]}; + 4'b0001: src_a_o[0+:paddr_width_p] = mshr[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + 4'b0010: src_a_o[0+:lce_assoc_width_p] = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + 4'b0011: src_a_o[0+:paddr_width_p] = mshr[paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))-:((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) ? ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) + 1)]; + 4'b0100: src_a_o[0+:lce_assoc_width_p] = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + 4'b0101: src_a_o[0+:lce_id_width_p] = mshr[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)]; + 4'b0110: src_a_o[0+:lce_assoc_width_p] = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)]; + 4'b0111: src_a_o[0+:3] = mshr[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)]; + 4'b1000: src_a_o[0+:16] = mshr[19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] & imm_i[0+:16]; + 4'b1001: src_a_o[0+:3] = mshr[10-:3]; + 4'b1010: src_a_o[0+:3] = mshr[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]; + 4'b1011: src_a_o[0+:3] = mshr[22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]; + 4'b1101: src_a_o[0] = sharers_hits_i[gpr_i[src_b_i[0+:3] * 64+:64]]; + 4'b1110: src_a_o[0+:lce_assoc_width_p] = sharers_ways_i[gpr_i[src_b_i[0+:3] * 64+:64] * lce_assoc_width_p+:lce_assoc_width_p]; + 4'b1111: src_a_o[0+:3] = sharers_coh_states_i[gpr_i[src_b_i[0+:3] * 64+:64] * 3+:3]; + default: src_a_o = 1'sb0; + endcase + 3'd3: + (* full_case, parallel_case *) + case (src_a_i[3-:4]) + 4'b0000: src_a_o[0+:cce_id_width_p] = cfg_bus_cast[cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))-:((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) >= (1 + (hio_width_p + (did_width_p + 0))) ? ((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) - (1 + (hio_width_p + (did_width_p + 0)))) + 1 : ((1 + (hio_width_p + (did_width_p + 0))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) + 1)]; + 4'b0001: src_a_o[0+:lce_id_width_p] = num_lce_p[0+:lce_id_width_p + 1]; + 4'b0010: src_a_o[0+:cce_id_width_p] = num_cce_p[0+:cce_id_width_p + 1]; + 4'b0011: src_a_o[0+:lg_num_way_groups_lp] = num_way_groups_lp[0+:lg_num_way_groups_lp]; + 4'b0100: src_a_o[0] = auto_fwd_msg_i; + 4'b0101: src_a_o[0+:3] = coh_state_default_i; + default: src_a_o = 1'sb0; + endcase + 3'd4: + (* full_case, parallel_case *) + case (src_a_i[3-:4]) + 4'b0000: src_a_o[0] = mem_rev_v_i; + 4'b0001: src_a_o[0] = lce_resp_v_i; + 4'b0010: src_a_o = 1'sb0; + 4'b0011: src_a_o[0] = lce_req_v_i; + 4'b0100: src_a_o[0+:4] = lce_resp_header_li[3-:4]; + 4'b0101: src_a_o[0+:4] = mem_rev_header_li[3-:4]; + 4'b0110: src_a_o = lce_resp_data_i[0+:64]; + 4'b0111: src_a_o = mem_rev_data_i[0+:64]; + 4'b1000: src_a_o = lce_req_data_i[0+:64]; + default: src_a_o = 1'sb0; + endcase + 3'd5: src_a_o = imm_i; + 3'd6: src_a_o = 1'sb0; + default: src_a_o = 1'sb0; + endcase + src_b_o = 1'sb0; + (* full_case, parallel_case *) + case (src_b_sel_i) + 3'd0: + (* full_case, parallel_case *) + case (src_b_i[3-:4]) + 4'b0000: src_b_o = gpr_i[0+:64]; + 4'b0001: src_b_o = gpr_i[64+:64]; + 4'b0010: src_b_o = gpr_i[128+:64]; + 4'b0011: src_b_o = gpr_i[192+:64]; + 4'b0100: src_b_o = gpr_i[256+:64]; + 4'b0101: src_b_o = gpr_i[320+:64]; + 4'b0110: src_b_o = gpr_i[384+:64]; + 4'b0111: src_b_o = gpr_i[448+:64]; + default: src_b_o = 1'sb0; + endcase + 3'd1: + (* full_case, parallel_case *) + case (src_b_i[3-:4]) + 4'b0000: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15]; + 4'b0001: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]; + 4'b0010: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 13]; + 4'b0011: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 12]; + 4'b0100: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 11]; + 4'b0101: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 10]; + 4'b0110: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 9]; + 4'b0111: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8]; + 4'b1000: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7]; + 4'b1001: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 6]; + 4'b1010: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5]; + 4'b1011: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 4]; + 4'b1100: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3]; + 4'b1101: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2]; + 4'b1110: src_b_o[0] = mshr[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 1]; + 4'b1111: src_b_o[0] = mshr[19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))]; + default: src_b_o = 1'sb0; + endcase + 3'd2: + (* full_case, parallel_case *) + case (src_b_i[3-:4]) + 4'b0000: src_b_o[0+:lce_id_width_p] = mshr[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + 4'b0001: src_b_o[0+:paddr_width_p] = mshr[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + 4'b0010: src_b_o[0+:lce_assoc_width_p] = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + 4'b0011: src_b_o[0+:paddr_width_p] = mshr[paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))-:((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) ? ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) + 1)]; + 4'b0100: src_b_o[0+:lce_assoc_width_p] = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + 4'b0101: src_b_o[0+:lce_id_width_p] = mshr[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)]; + 4'b0110: src_b_o[0+:lce_assoc_width_p] = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)]; + 4'b0111: src_b_o[0+:3] = mshr[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)]; + 4'b1000: src_b_o[0+:16] = mshr[19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] & imm_i[0+:16]; + 4'b1001: src_b_o[0+:3] = mshr[10-:3]; + 4'b1010: src_b_o[0+:3] = mshr[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]; + 4'b1011: src_b_o[0+:3] = mshr[22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]; + default: src_b_o = 1'sb0; + endcase + 3'd3: + (* full_case, parallel_case *) + case (src_b_i[3-:4]) + 4'b0000: src_b_o[0+:cce_id_width_p] = cfg_bus_cast[cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))-:((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) >= (1 + (hio_width_p + (did_width_p + 0))) ? ((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) - (1 + (hio_width_p + (did_width_p + 0)))) + 1 : ((1 + (hio_width_p + (did_width_p + 0))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) + 1)]; + 4'b0001: src_b_o[0+:lce_id_width_p] = num_lce_p[0+:lce_id_width_p + 1]; + 4'b0010: src_b_o[0+:cce_id_width_p] = num_cce_p[0+:cce_id_width_p + 1]; + 4'b0011: src_b_o[0+:lg_num_way_groups_lp] = num_way_groups_lp[0+:lg_num_way_groups_lp]; + 4'b0100: src_b_o[0] = auto_fwd_msg_i; + 4'b0101: src_b_o[0+:3] = coh_state_default_i; + default: src_b_o = 1'sb0; + endcase + 3'd4: + (* full_case, parallel_case *) + case (src_b_i[3-:4]) + 4'b0000: src_b_o[0] = mem_rev_v_i; + 4'b0001: src_b_o[0] = lce_resp_v_i; + 4'b0010: src_b_o = 1'sb0; + 4'b0011: src_b_o[0] = lce_req_v_i; + 4'b0100: src_b_o[0+:4] = lce_resp_header_li[3-:4]; + 4'b0101: src_b_o[0+:4] = mem_rev_header_li[3-:4]; + 4'b0110: src_b_o = lce_resp_data_i[0+:64]; + 4'b0111: src_b_o = mem_rev_data_i[0+:64]; + 4'b1000: src_b_o = lce_req_data_i[0+:64]; + default: src_b_o = 1'sb0; + endcase + 3'd5: src_b_o = imm_i; + 3'd6: src_b_o = 1'sb0; + default: src_b_o = 1'sb0; + endcase + (* full_case, parallel_case *) + case (addr_sel_i) + 4'b0000: addr_o = gpr_i[0+:paddr_width_p]; + 4'b0001: addr_o = gpr_i[64+:paddr_width_p]; + 4'b0010: addr_o = gpr_i[128+:paddr_width_p]; + 4'b0011: addr_o = gpr_i[192+:paddr_width_p]; + 4'b0100: addr_o = gpr_i[256+:paddr_width_p]; + 4'b0101: addr_o = gpr_i[320+:paddr_width_p]; + 4'b0110: addr_o = gpr_i[384+:paddr_width_p]; + 4'b0111: addr_o = gpr_i[448+:paddr_width_p]; + 4'b1000: addr_o = mshr[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + 4'b1001: addr_o = mshr[paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))-:((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) ? ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) + 1)]; + 4'b1010: addr_o = lce_req_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + 4'b1011: addr_o = lce_resp_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + 4'b1100: addr_o = mem_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + 4'b1101: addr_o = 1'sb0; + 4'b1111: addr_o = 1'sb0; + default: addr_o = 1'sb0; + endcase + (* full_case, parallel_case *) + case (addr_sel_i) + 4'b0000, 4'b0001, 4'b0010, 4'b0011, 4'b0100, 4'b0101, 4'b0110, 4'b0111, 4'b1111: addr_bypass_o = 1'b1; + default: addr_bypass_o = 1'b0; + endcase + (* full_case, parallel_case *) + case (lce_sel_i) + 4'b0000: lce_o = gpr_i[0+:lce_id_width_p]; + 4'b0001: lce_o = gpr_i[64+:lce_id_width_p]; + 4'b0010: lce_o = gpr_i[128+:lce_id_width_p]; + 4'b0011: lce_o = gpr_i[192+:lce_id_width_p]; + 4'b0100: lce_o = gpr_i[256+:lce_id_width_p]; + 4'b0101: lce_o = gpr_i[320+:lce_id_width_p]; + 4'b0110: lce_o = gpr_i[384+:lce_id_width_p]; + 4'b0111: lce_o = gpr_i[448+:lce_id_width_p]; + 4'b1000: lce_o = mshr[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + 4'b1001: lce_o = mshr[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)]; + 4'b1010: lce_o = lce_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)]; + 4'b1011: lce_o = lce_resp_header_li[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)]; + 4'b1100: lce_o = mem_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + 4'b1101: lce_o = 1'sb0; + 4'b1111: lce_o = 1'sb0; + default: lce_o = 1'sb0; + endcase + (* full_case, parallel_case *) + case (way_sel_i) + 4'b0000: way_o = gpr_i[0+:lce_assoc_width_p]; + 4'b0001: way_o = gpr_i[64+:lce_assoc_width_p]; + 4'b0010: way_o = gpr_i[128+:lce_assoc_width_p]; + 4'b0011: way_o = gpr_i[192+:lce_assoc_width_p]; + 4'b0100: way_o = gpr_i[256+:lce_assoc_width_p]; + 4'b0101: way_o = gpr_i[320+:lce_assoc_width_p]; + 4'b0110: way_o = gpr_i[384+:lce_assoc_width_p]; + 4'b0111: way_o = gpr_i[448+:lce_assoc_width_p]; + 4'b1000: way_o = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + 4'b1001: way_o = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)]; + 4'b1010: way_o = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + 4'b1011: way_o = sharers_ways_i[gpr_i[src_a_i[0+:3] * 64+:64] * lce_assoc_width_p+:lce_assoc_width_p]; + 4'b1111: way_o = 1'sb0; + default: way_o = 1'sb0; + endcase + (* full_case, parallel_case *) + case (lru_way_sel_i) + 4'b0000: lru_way_o = gpr_i[0+:lce_assoc_width_p]; + 4'b0001: lru_way_o = gpr_i[64+:lce_assoc_width_p]; + 4'b0010: lru_way_o = gpr_i[128+:lce_assoc_width_p]; + 4'b0011: lru_way_o = gpr_i[192+:lce_assoc_width_p]; + 4'b0100: lru_way_o = gpr_i[256+:lce_assoc_width_p]; + 4'b0101: lru_way_o = gpr_i[320+:lce_assoc_width_p]; + 4'b0110: lru_way_o = gpr_i[384+:lce_assoc_width_p]; + 4'b0111: lru_way_o = gpr_i[448+:lce_assoc_width_p]; + 4'b1000: lru_way_o = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + 4'b1001: lru_way_o = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)]; + 4'b1010: lru_way_o = mshr[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + 4'b1011: lru_way_o = sharers_ways_i[gpr_i[src_a_i[0+:3] * 64+:64] * lce_assoc_width_p+:lce_assoc_width_p]; + 4'b1111: lru_way_o = 1'sb0; + default: lru_way_o = 1'sb0; + endcase + (* full_case, parallel_case *) + case (coh_state_sel_i) + 4'b0000: state_o = sv2v_cast_3(gpr_i[0+:3]); + 4'b0001: state_o = sv2v_cast_3(gpr_i[64+:3]); + 4'b0010: state_o = sv2v_cast_3(gpr_i[128+:3]); + 4'b0011: state_o = sv2v_cast_3(gpr_i[192+:3]); + 4'b0100: state_o = sv2v_cast_3(gpr_i[256+:3]); + 4'b0101: state_o = sv2v_cast_3(gpr_i[320+:3]); + 4'b0110: state_o = sv2v_cast_3(gpr_i[384+:3]); + 4'b0111: state_o = sv2v_cast_3(gpr_i[448+:3]); + 4'b1000: state_o = mshr[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)]; + 4'b1001: state_o = mshr[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]; + 4'b1010: state_o = sharers_coh_states_i[gpr_i[src_a_i[0+:3] * 64+:64] * 3+:3]; + 4'b1011: state_o = mshr[22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]; + 4'b1111: state_o = sv2v_cast_3(imm_i[0+:3]); + default: state_o = 3'b000; + endcase + end + initial _sv2v_0 = 0; +endmodule +module bp_io_cce ( + clk_i, + reset_i, + cce_id_i, + lce_req_header_i, + lce_req_data_i, + lce_req_v_i, + lce_req_ready_and_o, + lce_cmd_header_o, + lce_cmd_data_o, + lce_cmd_v_o, + lce_cmd_ready_and_i, + mem_rev_header_i, + mem_rev_data_i, + mem_rev_v_i, + mem_rev_ready_and_o, + mem_fwd_header_o, + mem_fwd_data_o, + mem_fwd_v_o, + mem_fwd_ready_and_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + input clk_i; + input reset_i; + input [cce_id_width_p - 1:0] cce_id_i; + input [lce_req_header_width_lp - 1:0] lce_req_header_i; + input [bedrock_fill_width_p - 1:0] lce_req_data_i; + input lce_req_v_i; + output wire lce_req_ready_and_o; + output wire [lce_cmd_header_width_lp - 1:0] lce_cmd_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_cmd_data_o; + output wire lce_cmd_v_o; + input lce_cmd_ready_and_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input [bedrock_fill_width_p - 1:0] mem_rev_data_i; + input mem_rev_v_i; + output wire mem_rev_ready_and_o; + output wire [mem_fwd_header_width_lp - 1:0] mem_fwd_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_fwd_data_o; + output wire mem_fwd_v_o; + input mem_fwd_ready_and_i; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_cast_i; + assign lce_req_header_cast_i = lce_req_header_i; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_cast_o; + assign mem_fwd_header_o = mem_fwd_header_cast_o; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_cast_i; + assign mem_rev_header_cast_i = mem_rev_header_i; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_cast_o; + assign lce_cmd_header_o = lce_cmd_header_cast_o; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_req_header_lo; + wire [bedrock_fill_width_p - 1:0] fsm_req_data_lo; + wire fsm_req_v_lo; + reg fsm_req_yumi_li; + wire [paddr_width_p - 1:0] fsm_req_addr_lo; + wire fsm_req_new_lo; + wire fsm_req_critical_lo; + wire fsm_req_last_lo; + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_req_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp) + ) req_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(lce_req_header_cast_i), + .msg_data_i(lce_req_data_i), + .msg_v_i(lce_req_v_i), + .msg_ready_and_o(lce_req_ready_and_o), + .fsm_header_o(fsm_req_header_lo), + .fsm_data_o(fsm_req_data_lo), + .fsm_v_o(fsm_req_v_lo), + .fsm_yumi_i(fsm_req_yumi_li), + .fsm_addr_o(fsm_req_addr_lo), + .fsm_new_o(fsm_req_new_lo), + .fsm_critical_o(fsm_req_critical_lo), + .fsm_last_o(fsm_req_last_lo) + ); + reg [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_fwd_header_li; + reg [bedrock_fill_width_p - 1:0] fsm_fwd_data_li; + reg fsm_fwd_v_li; + wire fsm_fwd_ready_then_lo; + wire [paddr_width_p - 1:0] fsm_fwd_addr_lo; + wire fsm_fwd_new_lo; + wire fsm_fwd_critical_lo; + wire fsm_fwd_last_lo; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_fwd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp) + ) fwd_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(mem_fwd_header_cast_o), + .msg_data_o(mem_fwd_data_o), + .msg_v_o(mem_fwd_v_o), + .msg_ready_and_i(mem_fwd_ready_and_i), + .fsm_header_i(fsm_fwd_header_li), + .fsm_data_i(fsm_fwd_data_li), + .fsm_v_i(fsm_fwd_v_li), + .fsm_ready_then_o(fsm_fwd_ready_then_lo), + .fsm_addr_o(fsm_fwd_addr_lo), + .fsm_new_o(fsm_fwd_new_lo), + .fsm_critical_o(fsm_fwd_critical_lo), + .fsm_last_o(fsm_fwd_last_lo) + ); + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_rev_header_lo; + wire [bedrock_fill_width_p - 1:0] fsm_rev_data_lo; + wire fsm_rev_v_lo; + reg fsm_rev_yumi_li; + wire [paddr_width_p - 1:0] fsm_rev_addr_lo; + wire fsm_rev_new_lo; + wire fsm_rev_critical_lo; + wire fsm_rev_last_lo; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_rev_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp) + ) rev_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(mem_rev_header_cast_i), + .msg_data_i(mem_rev_data_i), + .msg_v_i(mem_rev_v_i), + .msg_ready_and_o(mem_rev_ready_and_o), + .fsm_header_o(fsm_rev_header_lo), + .fsm_data_o(fsm_rev_data_lo), + .fsm_v_o(fsm_rev_v_lo), + .fsm_yumi_i(fsm_rev_yumi_li), + .fsm_addr_o(fsm_rev_addr_lo), + .fsm_new_o(fsm_rev_new_lo), + .fsm_critical_o(fsm_rev_critical_lo), + .fsm_last_o(fsm_rev_last_lo) + ); + reg [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_cmd_header_li; + reg [bedrock_fill_width_p - 1:0] fsm_cmd_data_li; + reg fsm_cmd_v_li; + wire fsm_cmd_ready_then_lo; + wire [paddr_width_p - 1:0] fsm_cmd_addr_lo; + wire fsm_cmd_new_lo; + wire fsm_cmd_critical_lo; + wire fsm_cmd_last_lo; + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_cmd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp) + ) cmd_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(lce_cmd_header_cast_o), + .msg_data_o(lce_cmd_data_o), + .msg_v_o(lce_cmd_v_o), + .msg_ready_and_i(lce_cmd_ready_and_i), + .fsm_header_i(fsm_cmd_header_li), + .fsm_data_i(fsm_cmd_data_li), + .fsm_v_i(fsm_cmd_v_li), + .fsm_ready_then_o(fsm_cmd_ready_then_lo), + .fsm_addr_o(fsm_cmd_addr_lo), + .fsm_new_o(fsm_cmd_new_lo), + .fsm_critical_o(fsm_cmd_critical_lo), + .fsm_last_o(fsm_cmd_last_lo) + ); + wire lce_req_wr_not_rd = fsm_req_header_lo[3-:4] == 4'b0011; + wire mem_rev_wr_not_rd = fsm_rev_header_lo[3-:4] == 4'b0001; + always @(*) begin + if (_sv2v_0) + ; + fsm_fwd_header_li[3-:4] = (lce_req_wr_not_rd ? 4'b0001 : 4'b0000); + fsm_fwd_header_li[7-:4] = 4'b0000; + fsm_fwd_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_req_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_req_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_fwd_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))-:(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) >= (3 + (paddr_width_p + 8)) ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (3 + (paddr_width_p + 8))) + 1 : ((3 + (paddr_width_p + 8)) - ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7)))) + 1)] = 1'sb0; + fsm_fwd_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = fsm_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)]; + fsm_fwd_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = 1'b1; + fsm_fwd_data_li = fsm_req_data_lo; + fsm_fwd_v_li = fsm_fwd_ready_then_lo & fsm_req_v_lo; + fsm_req_yumi_li = fsm_fwd_v_li; + fsm_cmd_header_li[3-:4] = (mem_rev_wr_not_rd ? 4'b1100 : 4'b1011); + fsm_cmd_header_li[7-:4] = 4'b0000; + fsm_cmd_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_rev_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_cmd_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_rev_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_cmd_header_li[(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))-:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) >= (3 + (paddr_width_p + 8)) ? (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (3 + (paddr_width_p + 8))) + 1 : ((3 + (paddr_width_p + 8)) - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7)))) + 1)] = 1'sb0; + fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))-:((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) >= (lce_id_width_p + (did_width_p + 0)) ? ((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) - (lce_id_width_p + (did_width_p + 0))) + 1 : ((lce_id_width_p + (did_width_p + 0)) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) + 1)] = cce_id_i; + fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = fsm_rev_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + fsm_cmd_header_li[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = fsm_rev_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + fsm_cmd_data_li = fsm_rev_data_lo; + fsm_cmd_v_li = fsm_cmd_ready_then_lo & fsm_rev_v_lo; + fsm_rev_yumi_li = fsm_cmd_v_li; + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_fsm ( + clk_i, + reset_i, + cfg_bus_i, + lce_req_header_i, + lce_req_data_i, + lce_req_v_i, + lce_req_ready_and_o, + lce_resp_header_i, + lce_resp_data_i, + lce_resp_v_i, + lce_resp_ready_and_o, + lce_cmd_header_o, + lce_cmd_data_o, + lce_cmd_v_o, + lce_cmd_ready_and_i, + mem_rev_header_i, + mem_rev_data_i, + mem_rev_v_i, + mem_rev_ready_and_o, + mem_fwd_header_o, + mem_fwd_data_o, + mem_fwd_v_o, + mem_fwd_ready_and_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam block_size_in_bytes_lp = bedrock_block_width_p / 8; + localparam lg_num_lce_lp = ((num_lce_p == 1) || (num_lce_p == 0) ? 1 : $clog2(num_lce_p)); + localparam lg_num_cce_lp = ((num_cce_p == 1) || (num_cce_p == 0) ? 1 : $clog2(num_cce_p)); + localparam lg_block_size_in_bytes_lp = ((block_size_in_bytes_lp == 1) || (block_size_in_bytes_lp == 0) ? 1 : $clog2(block_size_in_bytes_lp)); + localparam num_way_groups_lp = ((cce_way_groups_p + num_cce_p) - 1) / num_cce_p; + localparam lg_num_way_groups_lp = ((num_way_groups_lp == 1) || (num_way_groups_lp == 0) ? 1 : $clog2(num_way_groups_lp)); + localparam inst_ram_addr_width_lp = ((num_cce_instr_ram_els_p == 1) || (num_cce_instr_ram_els_p == 0) ? 1 : $clog2(num_cce_instr_ram_els_p)); + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam max_tag_sets_lp = ((lce_sets_p + num_cce_p) - 1) / num_cce_p; + localparam lg_max_tag_sets_lp = ((max_tag_sets_lp == 1) || (max_tag_sets_lp == 0) ? 1 : $clog2(max_tag_sets_lp)); + localparam lg_bedrock_data_bytes_lp = (((bedrock_fill_width_p / 8) == 1) || ((bedrock_fill_width_p / 8) == 0) ? 1 : $clog2(bedrock_fill_width_p / 8)); + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam counter_max_lp = 512; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input [lce_req_header_width_lp - 1:0] lce_req_header_i; + input [bedrock_fill_width_p - 1:0] lce_req_data_i; + input lce_req_v_i; + output wire lce_req_ready_and_o; + input [lce_resp_header_width_lp - 1:0] lce_resp_header_i; + input [bedrock_fill_width_p - 1:0] lce_resp_data_i; + input lce_resp_v_i; + output wire lce_resp_ready_and_o; + output wire [lce_cmd_header_width_lp - 1:0] lce_cmd_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_cmd_data_o; + output wire lce_cmd_v_o; + input lce_cmd_ready_and_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input [bedrock_fill_width_p - 1:0] mem_rev_data_i; + input mem_rev_v_i; + output wire mem_rev_ready_and_o; + output wire [mem_fwd_header_width_lp - 1:0] mem_fwd_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_fwd_data_o; + output wire mem_fwd_v_o; + input mem_fwd_ready_and_i; + generate + if (counter_max_lp < num_way_groups_lp) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_fsm.sv:89:43 - bp_cce_fsm.genblk1\n msg: ", "Counter max value not large enough"); + end + if (counter_max_lp < max_tag_sets_lp) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_fsm.sv:90:41 - bp_cce_fsm.genblk2\n msg: ", "Counter max value not large enough"); + end + endgenerate + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_resp_header_cast_i; + assign lce_resp_header_cast_i = lce_resp_header_i; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_cast_i; + assign lce_req_header_cast_i = lce_req_header_i; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_cast_o; + assign lce_cmd_header_o = lce_cmd_header_cast_o; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_req_header_li; + wire [bedrock_fill_width_p - 1:0] fsm_req_data_li; + wire fsm_req_v_li; + reg fsm_req_yumi_lo; + wire [paddr_width_p - 1:0] fsm_req_addr_li; + wire fsm_req_new_li; + wire fsm_req_critical_li; + wire fsm_req_last_li; + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_req_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp) + ) req_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(lce_req_header_cast_i), + .msg_data_i(lce_req_data_i), + .msg_v_i(lce_req_v_i), + .msg_ready_and_o(lce_req_ready_and_o), + .fsm_header_o(fsm_req_header_li), + .fsm_data_o(fsm_req_data_li), + .fsm_v_o(fsm_req_v_li), + .fsm_yumi_i(fsm_req_yumi_lo), + .fsm_addr_o(fsm_req_addr_li), + .fsm_new_o(fsm_req_new_li), + .fsm_critical_o(fsm_req_critical_li), + .fsm_last_o(fsm_req_last_li) + ); + reg [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_cmd_header_lo; + reg [bedrock_fill_width_p - 1:0] fsm_cmd_data_lo; + reg fsm_cmd_v_lo; + wire fsm_cmd_ready_then_li; + wire [paddr_width_p - 1:0] fsm_cmd_addr_lo; + wire fsm_cmd_new_lo; + wire fsm_cmd_critical_lo; + wire fsm_cmd_last_lo; + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_cmd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp) + ) cmd_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(lce_cmd_header_cast_o), + .msg_data_o(lce_cmd_data_o), + .msg_v_o(lce_cmd_v_o), + .msg_ready_and_i(lce_cmd_ready_and_i), + .fsm_header_i(fsm_cmd_header_lo), + .fsm_addr_o(fsm_cmd_addr_lo), + .fsm_data_i(fsm_cmd_data_lo), + .fsm_v_i(fsm_cmd_v_lo), + .fsm_ready_then_o(fsm_cmd_ready_then_li), + .fsm_new_o(fsm_cmd_new_lo), + .fsm_critical_o(fsm_cmd_critical_lo), + .fsm_last_o(fsm_cmd_last_lo) + ); + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_resp_header_li; + wire [bedrock_fill_width_p - 1:0] fsm_resp_data_li; + wire fsm_resp_v_li; + reg fsm_resp_yumi_lo; + wire [paddr_width_p - 1:0] fsm_resp_addr_li; + wire fsm_resp_new_li; + wire fsm_resp_critical_li; + wire fsm_resp_last_li; + localparam bp_common_pkg_lce_resp_stream_mask_gp = 8; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_resp_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp) + ) resp_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(lce_resp_header_cast_i), + .msg_data_i(lce_resp_data_i), + .msg_v_i(lce_resp_v_i), + .msg_ready_and_o(lce_resp_ready_and_o), + .fsm_header_o(fsm_resp_header_li), + .fsm_data_o(fsm_resp_data_li), + .fsm_v_o(fsm_resp_v_li), + .fsm_yumi_i(fsm_resp_yumi_lo), + .fsm_addr_o(fsm_resp_addr_li), + .fsm_new_o(fsm_resp_new_li), + .fsm_critical_o(fsm_resp_critical_li), + .fsm_last_o(fsm_resp_last_li) + ); + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_rev_header_li; + wire [bedrock_fill_width_p - 1:0] fsm_rev_data_li; + wire fsm_rev_v_li; + reg fsm_rev_yumi_lo; + wire [paddr_width_p - 1:0] fsm_rev_addr_li; + wire fsm_rev_new_li; + wire fsm_rev_critical_li; + wire fsm_rev_last_li; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_rev_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp) + ) rev_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(mem_rev_header_i), + .msg_data_i(mem_rev_data_i), + .msg_v_i(mem_rev_v_i), + .msg_ready_and_o(mem_rev_ready_and_o), + .fsm_header_o(fsm_rev_header_li), + .fsm_data_o(fsm_rev_data_li), + .fsm_v_o(fsm_rev_v_li), + .fsm_yumi_i(fsm_rev_yumi_lo), + .fsm_addr_o(fsm_rev_addr_li), + .fsm_new_o(fsm_rev_new_li), + .fsm_critical_o(fsm_rev_critical_li), + .fsm_last_o(fsm_rev_last_li) + ); + reg [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_fwd_header_lo; + reg [bedrock_fill_width_p - 1:0] fsm_fwd_data_lo; + reg fsm_fwd_v_lo; + wire fsm_fwd_ready_then_li; + wire [paddr_width_p - 1:0] fsm_fwd_addr_lo; + wire fsm_fwd_new_lo; + wire fsm_fwd_critical_lo; + wire fsm_fwd_last_lo; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_fwd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp) + ) fwd_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(mem_fwd_header_o), + .msg_data_o(mem_fwd_data_o), + .msg_v_o(mem_fwd_v_o), + .msg_ready_and_i(mem_fwd_ready_and_i), + .fsm_header_i(fsm_fwd_header_lo), + .fsm_data_i(fsm_fwd_data_lo), + .fsm_v_i(fsm_fwd_v_lo), + .fsm_ready_then_o(fsm_fwd_ready_then_li), + .fsm_addr_o(fsm_fwd_addr_lo), + .fsm_new_o(fsm_fwd_new_lo), + .fsm_critical_o(fsm_fwd_critical_lo), + .fsm_last_o(fsm_fwd_last_lo) + ); + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire cce_normal_mode_li = cfg_bus_cast_i[1 + (hio_width_p + (did_width_p - 1))] == 1'd1; + reg cce_normal_mode_r; + reg cce_normal_mode_n; + reg [(((((((((lce_id_width_p + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 22) + paddr_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + paddr_width_p) + 3) + lce_id_width_p) + did_width_p) + 10:0] mshr_r; + reg [(((((((((lce_id_width_p + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 22) + paddr_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + paddr_width_p) + 3) + lce_id_width_p) + did_width_p) + 10:0] mshr_n; + reg pending_li; + reg pending_clear_li; + wire pending_lo; + reg pending_w_v; + reg pending_r_v; + reg [paddr_width_p - 1:0] pending_w_addr; + wire [paddr_width_p - 1:0] pending_r_addr; + assign pending_r_addr = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + reg pending_busy; + reg lce_cmd_busy; + localparam [0:0] sv2v_uu_pending_bits_ext_w_addr_bypass_hash_i_0 = 1'sb0; + localparam [0:0] sv2v_uu_pending_bits_ext_r_addr_bypass_hash_i_0 = 1'sb0; + bp_cce_pending_bits #( + .num_way_groups_p(num_way_groups_lp), + .cce_way_groups_p(cce_way_groups_p), + .num_cce_p(num_cce_p), + .paddr_width_p(paddr_width_p), + .addr_offset_p(lg_block_size_in_bytes_lp), + .cce_id_width_p(cce_id_width_p) + ) pending_bits( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(pending_w_v), + .w_addr_i(pending_w_addr), + .w_addr_bypass_hash_i(sv2v_uu_pending_bits_ext_w_addr_bypass_hash_i_0), + .pending_i(pending_li), + .clear_i(pending_clear_li), + .r_v_i(pending_r_v), + .r_addr_i(pending_r_addr), + .r_addr_bypass_hash_i(sv2v_uu_pending_bits_ext_r_addr_bypass_hash_i_0), + .pending_o(pending_lo), + .cce_id_i(cfg_bus_cast_i[cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))-:((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) >= (1 + (hio_width_p + (did_width_p + 0))) ? ((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) - (1 + (hio_width_p + (did_width_p + 0)))) + 1 : ((1 + (hio_width_p + (did_width_p + 0))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) + 1)]) + ); + reg dir_r_v; + reg dir_w_v; + reg [3:0] dir_cmd; + wire sharers_v_lo; + wire [num_lce_p - 1:0] sharers_hits_lo; + wire [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_lo; + wire [(num_lce_p * 3) - 1:0] sharers_coh_states_lo; + wire dir_lru_v_lo; + wire [paddr_width_p - 1:0] dir_lru_addr_lo; + wire [paddr_width_p - 1:0] dir_addr_lo; + wire [2:0] dir_lru_coh_state_lo; + wire dir_busy_lo; + reg [paddr_width_p - 1:0] dir_addr_li; + reg dir_addr_bypass_li; + reg [lce_id_width_p - 1:0] dir_lce_li; + reg [lce_assoc_width_p - 1:0] dir_way_li; + reg [lce_assoc_width_p - 1:0] dir_lru_way_li; + reg [2:0] dir_coh_state_li; + wire [lce_assoc_width_p - 1:0] gad_req_addr_way_lo; + wire [lce_id_width_p - 1:0] gad_owner_lce_lo; + wire [lce_assoc_width_p - 1:0] gad_owner_lce_way_lo; + wire [2:0] gad_owner_coh_state_lo; + wire gad_rf_lo; + wire gad_uf_lo; + wire gad_csf_lo; + wire gad_cef_lo; + wire gad_cmf_lo; + wire gad_cof_lo; + wire gad_cff_lo; + bp_cce_dir #(.bp_params_p(bp_params_p)) directory( + .clk_i(clk_i), + .reset_i(reset_i), + .addr_i(dir_addr_li), + .addr_bypass_i(dir_addr_bypass_li), + .lce_i(dir_lce_li), + .way_i(dir_way_li), + .lru_way_i(mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]), + .coh_state_i(dir_coh_state_li), + .addr_dst_gpr_i(4'b0000), + .cmd_i(dir_cmd), + .r_v_i(dir_r_v), + .w_v_i(dir_w_v), + .busy_o(dir_busy_lo), + .sharers_v_o(sharers_v_lo), + .sharers_hits_o(sharers_hits_lo), + .sharers_ways_o(sharers_ways_lo), + .sharers_coh_states_o(sharers_coh_states_lo), + .lru_v_o(dir_lru_v_lo), + .lru_coh_state_o(dir_lru_coh_state_lo), + .lru_addr_o(dir_lru_addr_lo), + .addr_v_o(), + .addr_o(), + .addr_dst_gpr_o(), + .cce_id_i(cfg_bus_cast_i[cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))-:((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) >= (1 + (hio_width_p + (did_width_p + 0))) ? ((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) - (1 + (hio_width_p + (did_width_p + 0)))) + 1 : ((1 + (hio_width_p + (did_width_p + 0))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) + 1)]) + ); + bp_cce_gad #(.bp_params_p(bp_params_p)) gad( + .clk_i(clk_i), + .reset_i(reset_i), + .gad_v_i(sharers_v_lo & ~dir_busy_lo), + .sharers_v_i(sharers_v_lo), + .sharers_hits_i(sharers_hits_lo), + .sharers_ways_i(sharers_ways_lo), + .sharers_coh_states_i(sharers_coh_states_lo), + .req_lce_i(mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]), + .req_type_flag_i(mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15]), + .lru_coh_state_i(mshr_r[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)]), + .atomic_req_flag_i(mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2]), + .uncached_req_flag_i(mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]), + .req_addr_way_o(gad_req_addr_way_lo), + .owner_lce_o(gad_owner_lce_lo), + .owner_way_o(gad_owner_lce_way_lo), + .owner_coh_state_o(gad_owner_coh_state_lo), + .replacement_flag_o(gad_rf_lo), + .upgrade_flag_o(gad_uf_lo), + .cached_shared_flag_o(gad_csf_lo), + .cached_exclusive_flag_o(gad_cef_lo), + .cached_modified_flag_o(gad_cmf_lo), + .cached_owned_flag_o(gad_cof_lo), + .cached_forward_flag_o(gad_cff_lo) + ); + wire req_pma_cacheable_addr_lo; + bp_cce_pma #(.bp_params_p(bp_params_p)) req_pma( + .paddr_i(fsm_req_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]), + .cacheable_addr_o(req_pma_cacheable_addr_lo) + ); + always @(negedge clk_i) + if (~reset_i) + ; + wire fwd_pma_cacheable_addr_lo; + bp_cce_pma #(.bp_params_p(bp_params_p)) fwd_pma( + .paddr_i(fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]), + .cacheable_addr_o(fwd_pma_cacheable_addr_lo) + ); + wire rev_pma_cacheable_addr_lo; + bp_cce_pma #(.bp_params_p(bp_params_p)) rev_pma( + .paddr_i(fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]), + .cacheable_addr_o(rev_pma_cacheable_addr_lo) + ); + reg [5:0] state_n; + reg [5:0] state_r; + reg cnt_rst; + reg [0:0] cnt_inc; + reg [0:0] cnt_dec; + wire [$clog2({1'b0, num_lce_p + 1} + 1) - 1:0] cnt; + bsg_counter_up_down #( + .max_val_p(num_lce_p + 1), + .init_val_p(0), + .max_step_p(1) + ) counter( + .clk_i(clk_i), + .reset_i(reset_i | cnt_rst), + .up_i(cnt_inc), + .down_i(cnt_dec), + .count_o(cnt) + ); + reg cnt_0_clr; + reg cnt_0_inc; + wire [9:0] cnt_0; + bsg_counter_clear_up #( + .max_val_p(counter_max_lp), + .init_val_p(0) + ) counter_0( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(cnt_0_clr), + .up_i(cnt_0_inc), + .count_o(cnt_0) + ); + reg cnt_1_clr; + reg cnt_1_inc; + wire [9:0] cnt_1; + bsg_counter_clear_up #( + .max_val_p(counter_max_lp), + .init_val_p(0) + ) counter_1( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(cnt_1_clr), + .up_i(cnt_1_inc), + .count_o(cnt_1) + ); + wire [$clog2({1'b0, dma_noc_max_credits_p} + 1) - 1:0] mem_credit_count_lo; + bsg_flow_counter #( + .els_p(dma_noc_max_credits_p), + .ready_THEN_valid_p(1) + ) mem_credit_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(fsm_fwd_v_lo & fsm_fwd_last_lo), + .ready_param_i(fsm_fwd_ready_then_li), + .yumi_i(fsm_rev_yumi_lo & fsm_rev_last_li), + .count_o(mem_credit_count_lo) + ); + wire mem_credits_empty = mem_credit_count_lo == dma_noc_max_credits_p; + wire mem_credits_full = mem_credit_count_lo == 0; + reg [5:0] spec_bits_li; + wire [5:0] spec_bits_lo; + reg spec_w_v; + reg spec_v_li; + reg squash_v_li; + reg fwd_mod_v_li; + reg state_v_li; + localparam [0:0] sv2v_uu_spec_bits_ext_w_addr_bypass_hash_i_0 = 1'sb0; + localparam [0:0] sv2v_uu_spec_bits_ext_r_addr_bypass_hash_i_0 = 1'sb0; + bp_cce_spec_bits #( + .num_way_groups_p(num_way_groups_lp), + .cce_way_groups_p(cce_way_groups_p), + .num_cce_p(num_cce_p), + .paddr_width_p(paddr_width_p), + .addr_offset_p(lg_block_size_in_bytes_lp) + ) spec_bits( + .clk_i(clk_i), + .reset_i(reset_i), + .w_v_i(spec_w_v), + .w_addr_i(mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]), + .w_addr_bypass_hash_i(sv2v_uu_spec_bits_ext_w_addr_bypass_hash_i_0), + .spec_v_i(spec_v_li), + .squash_v_i(squash_v_li), + .fwd_mod_v_i(fwd_mod_v_li), + .state_v_i(state_v_li), + .spec_i(spec_bits_li), + .r_v_i(fsm_rev_v_li & fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) : (3 + (paddr_width_p + 8)) + 0)]), + .r_addr_i(fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]), + .r_addr_bypass_hash_i(sv2v_uu_spec_bits_ext_r_addr_bypass_hash_i_0), + .spec_o(spec_bits_lo) + ); + wire [num_lce_p - 1:0] req_lce_id_one_hot; + bsg_decode #(.num_out_p(num_lce_p)) req_lce_id_to_one_hot( + .i(mshr_r[(lce_id_width_p + (did_width_p + 10)) - (lce_id_width_p - 1)+:lg_num_lce_lp]), + .o(req_lce_id_one_hot) + ); + wire [num_lce_p - 1:0] owner_lce_id_one_hot; + bsg_decode #(.num_out_p(num_lce_p)) owner_lce_id_to_one_hot( + .i(mshr_r[(lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (lce_id_width_p - 1)+:lg_num_lce_lp]), + .o(owner_lce_id_one_hot) + ); + reg [num_lce_p - 1:0] pe_sharers_r; + reg [num_lce_p - 1:0] pe_sharers_n; + wire [lg_num_lce_lp - 1:0] pe_lce_id; + wire pe_v; + bsg_priority_encode #( + .width_p(num_lce_p), + .lo_to_hi_p(1) + ) sharers_pri_enc( + .i(pe_sharers_r), + .addr_o(pe_lce_id), + .v_o(pe_v) + ); + reg [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_r; + reg [(num_lce_p * lce_assoc_width_p) - 1:0] sharers_ways_n; + reg [num_lce_p - 1:0] sharers_hits_r; + reg [num_lce_p - 1:0] sharers_hits_n; + wire [num_lce_p - 1:0] pe_lce_id_one_hot; + bsg_decode #(.num_out_p(num_lce_p)) pe_lce_id_to_one_hot( + .i(pe_lce_id), + .o(pe_lce_id_one_hot) + ); + wire lce_resp_coh_ack_yumi = (fsm_resp_v_li & (fsm_resp_header_li[3-:4] == 4'b0010)) & ~pending_busy; + wire transfer_flag = ((((mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7]) | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 6]) | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5]) & ~mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3]) & ~mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]; + wire upgrade_inv_owner = mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3] & (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 6] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5]); + wire inv_sharers = (~mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] & mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15]) & mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 9]; + wire uc_inv_sharers = mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] & mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 9]; + wire uc_inv_owner = mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] & (((mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8]) | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7]) | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 6]); + wire invalidate_flag = (inv_sharers | uc_inv_sharers) | upgrade_inv_owner; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + state_n = state_r; + mshr_n = mshr_r; + sharers_ways_n = sharers_ways_r; + sharers_hits_n = sharers_hits_r; + pe_sharers_n = pe_sharers_r; + cce_normal_mode_n = cce_normal_mode_r; + fsm_rev_yumi_lo = 1'sb0; + fsm_fwd_header_lo = 1'sb0; + fsm_fwd_v_lo = 1'sb0; + fsm_fwd_data_lo = 1'sb0; + fsm_req_yumi_lo = 1'sb0; + fsm_resp_yumi_lo = 1'sb0; + fsm_cmd_header_lo = 1'sb0; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))-:((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) >= (lce_id_width_p + (did_width_p + 0)) ? ((cce_id_width_p + (lce_id_width_p + (did_width_p - 1))) - (lce_id_width_p + (did_width_p + 0))) + 1 : ((lce_id_width_p + (did_width_p + 0)) - (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) + 1)] = cfg_bus_cast_i[cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))-:((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) >= (1 + (hio_width_p + (did_width_p + 0))) ? ((cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))) - (1 + (hio_width_p + (did_width_p + 0)))) + 1 : ((1 + (hio_width_p + (did_width_p + 0))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = cfg_bus_cast_i[did_width_p - 1-:did_width_p]; + fsm_cmd_data_lo = 1'sb0; + fsm_cmd_v_lo = 1'sb0; + cnt_inc = 1'sb0; + cnt_dec = 1'sb0; + cnt_rst = 1'sb0; + cnt_1_clr = 1'sb0; + cnt_1_inc = 1'sb0; + cnt_0_clr = 1'sb0; + cnt_0_inc = 1'sb0; + pending_li = 1'sb0; + pending_clear_li = 1'sb0; + pending_r_v = 1'sb0; + pending_w_v = 1'sb0; + pending_w_addr = 1'sb0; + dir_r_v = 1'sb0; + dir_w_v = 1'sb0; + dir_cmd = 4'b0001; + dir_lce_li = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + dir_way_li = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + dir_lru_way_li = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + dir_addr_li = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + dir_addr_bypass_li = 1'sb0; + dir_coh_state_li = mshr_r[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)]; + spec_w_v = 1'sb0; + spec_bits_li = 1'sb0; + spec_v_li = 1'sb0; + squash_v_li = 1'sb0; + fwd_mod_v_li = 1'sb0; + state_v_li = 1'sb0; + pending_busy = 1'sb0; + lce_cmd_busy = 1'sb0; + if (fsm_rev_v_li) begin + if (fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) : (3 + (paddr_width_p + 8)) + 0)] && (fsm_rev_header_li[3-:4] == 4'b0000)) begin + if (spec_bits_lo[5]) + ; + else if (spec_bits_lo[4]) begin + fsm_rev_yumi_lo = fsm_rev_v_li; + pending_w_v = (fsm_rev_yumi_lo & fsm_rev_last_li) & rev_pma_cacheable_addr_lo; + pending_busy = pending_w_v; + pending_w_addr = fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_li = 1'b0; + end + else if (spec_bits_lo[3]) begin + lce_cmd_busy = 1'b1; + fsm_cmd_v_lo = fsm_cmd_ready_then_li & fsm_rev_v_li; + fsm_rev_yumi_lo = fsm_cmd_v_lo; + fsm_cmd_header_lo[3-:4] = 4'b0100; + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_cmd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_rev_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = sv2v_cast_3(spec_bits_lo[2-:3]); + fsm_cmd_data_lo = fsm_rev_data_li; + pending_w_v = (fsm_rev_yumi_lo & fsm_rev_last_li) & rev_pma_cacheable_addr_lo; + pending_busy = pending_w_v; + pending_w_addr = fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_li = 1'b0; + end + else begin + lce_cmd_busy = 1'b1; + fsm_cmd_v_lo = fsm_cmd_ready_then_li & fsm_rev_v_li; + fsm_rev_yumi_lo = fsm_cmd_v_lo; + fsm_cmd_header_lo[3-:4] = 4'b0100; + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_cmd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_rev_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) : (((3 + (paddr_width_p + 8)) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)) - 1)-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)]; + fsm_cmd_data_lo = fsm_rev_data_li; + pending_w_v = (fsm_rev_yumi_lo & fsm_rev_last_li) & rev_pma_cacheable_addr_lo; + pending_busy = pending_w_v; + pending_w_addr = fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_li = 1'b0; + end + end + else if (fsm_rev_header_li[3-:4] == 4'b0000) begin + lce_cmd_busy = 1'b1; + fsm_cmd_v_lo = fsm_cmd_ready_then_li & fsm_rev_v_li; + fsm_rev_yumi_lo = fsm_cmd_v_lo; + fsm_cmd_header_lo[3-:4] = (fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] ? 4'b1011 : 4'b0100); + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_cmd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_rev_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) : (((3 + (paddr_width_p + 8)) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)) - 1)-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)]; + fsm_cmd_data_lo = fsm_rev_data_li; + pending_w_v = (fsm_rev_yumi_lo & fsm_rev_last_li) & rev_pma_cacheable_addr_lo; + pending_busy = pending_w_v; + pending_w_addr = fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_li = 1'b0; + end + else if (fsm_rev_header_li[3-:4] == 4'b0001) begin + if (fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)]) begin + lce_cmd_busy = 1'b1; + fsm_cmd_v_lo = fsm_cmd_ready_then_li & fsm_rev_v_li; + fsm_rev_yumi_lo = fsm_cmd_v_lo; + fsm_cmd_header_lo[3-:4] = 4'b1100; + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + end + else + fsm_rev_yumi_lo = fsm_rev_v_li; + pending_w_v = (fsm_rev_yumi_lo & fsm_rev_last_li) & rev_pma_cacheable_addr_lo; + pending_busy = pending_w_v; + pending_w_addr = fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_li = 1'b0; + end + end + if ((fsm_resp_v_li & (fsm_resp_header_li[3-:4] == 4'b0010)) & ~pending_busy) begin + fsm_resp_yumi_lo = fsm_resp_v_li; + pending_w_v = fsm_resp_yumi_lo & fsm_resp_last_li; + pending_busy = pending_w_v; + pending_w_addr = fsm_resp_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_li = 1'b0; + end + case (state_r) + 6'd0: begin + state_n = 6'd1; + cce_normal_mode_n = 1'b0; + cnt_rst = 1'b1; + cnt_0_clr = 1'b1; + cnt_1_clr = 1'b1; + end + 6'd1: begin + dir_w_v = 1'b1; + dir_cmd = 4'b0110; + dir_addr_bypass_li = 1'b1; + dir_addr_li = 1'sb0; + dir_addr_li[0+:lg_max_tag_sets_lp] = cnt_0[0+:lg_max_tag_sets_lp]; + dir_lce_li = cnt_1[0+:lce_id_width_p]; + cnt_1_clr = cnt_1 == (num_lce_p - 1); + cnt_1_inc = ~cnt_1_clr; + cnt_0_clr = (cnt_0 == (max_tag_sets_lp - 1)) & cnt_1_clr; + cnt_0_inc = cnt_1_clr & ~cnt_0_clr; + state_n = (cnt_0_clr ? (cce_normal_mode_li ? 6'd3 : 6'd2) : 6'd1); + end + 6'd2: begin + mshr_n = 1'sb0; + cnt_0_clr = 1'b1; + cnt_1_clr = 1'b1; + cnt_rst = 1'b1; + state_n = 6'd2; + if (cce_normal_mode_li) + state_n = 6'd3; + else if (fsm_req_v_li & ((fsm_req_header_li[3-:4] == 4'b0000) | (fsm_req_header_li[3-:4] == 4'b0001))) + state_n = 6'd28; + else if (fsm_req_v_li & (fsm_req_header_li[3-:4] == 4'b0011)) begin + fsm_fwd_v_lo = (fsm_fwd_ready_then_li & fsm_req_v_li) & ~mem_credits_empty; + fsm_req_yumi_lo = fsm_fwd_v_lo & fsm_fwd_last_lo; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_req_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_req_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[7-:4] = fsm_req_header_li[7-:4]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = 1'b1; + fsm_fwd_data_lo = fsm_req_data_li; + end + else if (fsm_req_v_li & (fsm_req_header_li[3-:4] == 4'b0010)) begin + fsm_fwd_v_lo = (fsm_fwd_ready_then_li & fsm_req_v_li) & ~mem_credits_empty; + fsm_req_yumi_lo = fsm_fwd_v_lo & fsm_fwd_last_lo; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_req_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_req_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = 1'b1; + fsm_fwd_header_lo[3-:4] = 4'b0000; + end + end + 6'd3: begin + cce_normal_mode_n = (~cce_normal_mode_r & mem_credits_full ? 1'b1 : cce_normal_mode_r); + if (mem_credits_full & ~lce_cmd_busy) begin + fsm_cmd_v_lo = fsm_cmd_ready_then_li; + fsm_cmd_header_lo[3-:4] = 4'b0000; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((lce_id_width_p + (did_width_p - 1)) - (lce_id_width_p - 1)))+:lg_num_lce_lp] = cnt_1[0+:lg_num_lce_lp]; + cnt_1_inc = fsm_cmd_v_lo; + state_n = (cnt_1_inc ? 6'd4 : 6'd3); + end + end + 6'd4: + if (~lce_resp_coh_ack_yumi) begin + fsm_resp_yumi_lo = fsm_resp_v_li; + state_n = (fsm_resp_v_li ? (cnt_0 == (num_lce_p - 1) ? 6'd5 : 6'd3) : 6'd4); + state_n = (fsm_resp_v_li & (fsm_resp_header_li[3-:4] != 4'b0000) ? 6'd28 : state_n); + cnt_0_clr = state_n == 6'd5; + cnt_0_inc = fsm_resp_v_li & ~cnt_0_clr; + cnt_1_clr = state_n == 6'd5; + end + 6'd5: begin + mshr_n = 1'sb0; + cnt_0_clr = 1'b1; + cnt_1_clr = 1'b1; + cnt_rst = 1'b1; + if (fsm_req_v_li) begin + mshr_n[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)]; + mshr_n[did_width_p + 10-:((did_width_p + 10) >= 11 ? did_width_p + 0 : 12 - (did_width_p + 10))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + state_n = 6'd28; + if ((fsm_req_header_li[3-:4] == 4'b0000) | (fsm_req_header_li[3-:4] == 4'b0001)) begin + mshr_n[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)] = fsm_req_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + mshr_n[10-:3] = fsm_req_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))) >= (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p + 0)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))) - (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p + 0))))) + 1 : ((1 + (lce_id_width_p + (cce_id_width_p + (did_width_p + 0)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))))) + 1)]; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15] = fsm_req_header_li[3-:4] == 4'b0001; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 13] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (1 + (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))))]; + mshr_n[19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))] = req_pma_cacheable_addr_lo; + state_n = (~req_pma_cacheable_addr_lo ? 6'd28 : 6'd8); + end + else if ((fsm_req_header_li[3-:4] == 4'b0010) | (fsm_req_header_li[3-:4] == 4'b0011)) begin + mshr_n[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)] = fsm_req_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + mshr_n[10-:3] = fsm_req_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + mshr_n[7-:4] = fsm_req_header_li[7-:4]; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] = 1'b1; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15] = fsm_req_header_li[3-:4] == 4'b0011; + mshr_n[19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))] = req_pma_cacheable_addr_lo; + state_n = (req_pma_cacheable_addr_lo ? 6'd8 : 6'd6); + end + else + state_n = 6'd28; + end + end + 6'd6: + if (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15]) begin + fsm_fwd_v_lo = (fsm_fwd_ready_then_li & fsm_req_v_li) & ~mem_credits_empty; + fsm_req_yumi_lo = fsm_fwd_v_lo; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = mshr_r[10-:3]; + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[7-:4] = mshr_r[7-:4]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = 1'b1; + fsm_fwd_data_lo = fsm_req_data_li; + state_n = (fsm_req_yumi_lo & fsm_req_last_li ? 6'd5 : 6'd6); + end + else begin + fsm_fwd_v_lo = (fsm_fwd_ready_then_li & fsm_req_v_li) & ~mem_credits_empty; + fsm_req_yumi_lo = fsm_fwd_v_lo & fsm_fwd_last_lo; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = mshr_r[10-:3]; + fsm_fwd_header_lo[3-:4] = 4'b0000; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = 1'b1; + state_n = (fsm_req_yumi_lo ? 6'd5 : 6'd6); + end + 6'd8: begin + pending_r_v = 1'b1; + state_n = (pending_lo ? 6'd8 : 6'd9); + end + 6'd9: + if (fsm_req_v_li & ~pending_busy) begin + pending_w_v = ~(mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]); + pending_w_addr = fsm_req_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + pending_li = 1'b1; + state_n = (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] ? 6'd11 : 6'd10); + fsm_req_yumi_lo = ~(mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]); + end + else + state_n = 6'd9; + 6'd10: + if (~pending_busy) begin + fsm_fwd_v_lo = fsm_fwd_ready_then_li & ~mem_credits_empty; + fsm_fwd_header_lo[3-:4] = 4'b0000; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = mshr_r[10-:3]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) : (((3 + (paddr_width_p + 8)) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)) - 1)-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3)))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 3))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) + 1)] = 3'b010; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) : (3 + (paddr_width_p + 8)) + 0)] = 1'b1; + spec_w_v = fsm_fwd_v_lo; + spec_v_li = 1'b1; + squash_v_li = 1'b1; + fwd_mod_v_li = 1'b1; + state_v_li = 1'b1; + spec_bits_li[5] = 1'b1; + spec_bits_li[4] = 1'b0; + spec_bits_li[3] = 1'b0; + spec_bits_li[2-:3] = 3'b000; + pending_w_v = (fsm_fwd_v_lo & fsm_fwd_new_lo) & fwd_pma_cacheable_addr_lo; + pending_li = 1'b1; + pending_w_addr = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + state_n = (fsm_fwd_v_lo ? 6'd11 : 6'd10); + end + 6'd11: begin + dir_r_v = 1'b1; + dir_addr_li = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + dir_cmd = 4'b0001; + dir_lce_li = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + dir_lru_way_li = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + state_n = 6'd12; + end + 6'd12: begin + if (dir_lru_v_lo) begin + mshr_n[paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))-:((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) ? ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) + 1)] = dir_lru_addr_lo; + mshr_n[3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) ? ((3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) + 1 : ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) - (3 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] = dir_lru_coh_state_lo; + end + if (sharers_v_lo) begin + sharers_ways_n = sharers_ways_lo; + sharers_hits_n = sharers_hits_lo; + end + if (sharers_v_lo & ~dir_busy_lo) begin + mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)] = gad_req_addr_way_lo; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 4] = gad_rf_lo; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3] = gad_uf_lo; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 9] = gad_csf_lo; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8] = gad_cef_lo; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7] = gad_cmf_lo; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 6] = gad_cof_lo; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5] = gad_cff_lo; + mshr_n[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)] = gad_owner_lce_lo; + mshr_n[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)] = gad_owner_lce_way_lo; + mshr_n[22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))-:((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) >= (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - (19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) + 1)] = gad_owner_coh_state_lo; + mshr_n[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)] = (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] ? 3'b000 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15] ? 3'b110 : (((((mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 13] | gad_csf_lo) | gad_cef_lo) | gad_cmf_lo) | gad_cof_lo) | gad_cff_lo ? 3'b001 : 3'b010))); + state_n = 6'd13; + end + end + 6'd13: begin + dir_lce_li = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + dir_addr_li = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + dir_coh_state_li = mshr_r[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)]; + if (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3]) begin + dir_w_v = 1'b1; + dir_cmd = 4'b1000; + dir_way_li = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + end + else if (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]) begin + dir_w_v = mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 4]; + dir_cmd = 4'b1000; + dir_way_li = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + end + else begin + dir_w_v = 1'b1; + dir_cmd = 4'b0111; + dir_way_li = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + end + state_n = (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 4] ? 6'd16 : (invalidate_flag ? 6'd14 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] ? 6'd18 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3] ? 6'd21 : (transfer_flag ? 6'd22 : 6'd27))))); + if (~mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 4] & invalidate_flag) begin + pe_sharers_n = sharers_hits_r & ~req_lce_id_one_hot; + pe_sharers_n = (transfer_flag | uc_inv_owner ? pe_sharers_n & ~owner_lce_id_one_hot : pe_sharers_n); + cnt_rst = 1'b1; + end + end + 6'd16: + if (~lce_cmd_busy) begin + fsm_cmd_v_lo = fsm_cmd_ready_then_li; + fsm_cmd_header_lo[3-:4] = 4'b0111; + if (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14]) begin + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + end + else begin + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))-:((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) ? ((paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) - (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) + 1)]; + end + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = 3'b000; + state_n = (fsm_cmd_v_lo ? 6'd17 : 6'd16); + end + 6'd17: + if (fsm_resp_v_li) begin + if (fsm_resp_header_li[3-:4] == 4'b0100) begin + fsm_resp_yumi_lo = fsm_resp_v_li; + state_n = (invalidate_flag ? 6'd14 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] ? 6'd18 : (transfer_flag ? 6'd22 : 6'd27))); + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 4] = 1'b0; + if (invalidate_flag) begin + pe_sharers_n = sharers_hits_r & ~req_lce_id_one_hot; + pe_sharers_n = (transfer_flag | uc_inv_owner ? pe_sharers_n & ~owner_lce_id_one_hot : pe_sharers_n); + cnt_rst = 1'b1; + end + end + else if (((fsm_resp_header_li[3-:4] == 4'b0011) & ~pending_busy) & ~mem_credits_empty) begin + fsm_fwd_v_lo = fsm_fwd_ready_then_li & fsm_resp_v_li; + fsm_resp_yumi_lo = fsm_fwd_v_lo; + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_resp_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_resp_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = 1'sb0; + fsm_fwd_data_lo = fsm_resp_data_li; + pending_w_v = (fsm_fwd_v_lo & fsm_fwd_new_lo) & fwd_pma_cacheable_addr_lo; + pending_li = 1'b1; + pending_w_addr = fsm_resp_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + mshr_n[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 4] = 1'b0; + if ((fsm_fwd_v_lo & fsm_fwd_last_lo) & invalidate_flag) begin + pe_sharers_n = sharers_hits_r & ~req_lce_id_one_hot; + pe_sharers_n = (transfer_flag | uc_inv_owner ? pe_sharers_n & ~owner_lce_id_one_hot : pe_sharers_n); + cnt_rst = 1'b1; + end + state_n = (fsm_fwd_v_lo & fsm_fwd_last_lo ? (invalidate_flag ? 6'd14 : (transfer_flag ? 6'd22 : 6'd27)) : 6'd17); + end + end + 6'd14: begin + if (pe_v) begin + if (~lce_cmd_busy) begin + fsm_cmd_v_lo = fsm_cmd_ready_then_li; + fsm_cmd_header_lo[3-:4] = 4'b0010; + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - ((lce_id_width_p + (did_width_p - 1)) - (lce_id_width_p - 1)))+:lg_num_lce_lp] = pe_lce_id; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = sharers_ways_r[pe_lce_id * lce_assoc_width_p+:lce_assoc_width_p]; + cnt_inc = fsm_cmd_v_lo & fsm_cmd_new_lo; + dir_w_v = cnt_inc; + dir_cmd = 4'b1000; + dir_addr_li = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + dir_lce_li = 1'sb0; + dir_lce_li[0+:lg_num_lce_lp] = pe_lce_id; + dir_way_li = sharers_ways_r[pe_lce_id * lce_assoc_width_p+:lce_assoc_width_p]; + dir_coh_state_li = 3'b000; + pe_sharers_n = (dir_w_v ? pe_sharers_r & ~pe_lce_id_one_hot : pe_sharers_r); + if (pe_sharers_n == {num_lce_p {1'sb0}}) + state_n = 6'd15; + end + else + pe_sharers_n = pe_sharers_r; + end + if (fsm_resp_v_li & (fsm_resp_header_li[3-:4] == 4'b0001)) begin + fsm_resp_yumi_lo = fsm_resp_v_li; + cnt_dec = fsm_resp_yumi_lo; + end + end + 6'd15: + if (cnt == {$clog2({1'b0, num_lce_p + 1} + 1) {1'sb0}}) + state_n = (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] ? 6'd18 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3] ? 6'd21 : (transfer_flag ? 6'd22 : 6'd27))); + else if (fsm_resp_v_li & (fsm_resp_header_li[3-:4] == 4'b0001)) begin + fsm_resp_yumi_lo = fsm_resp_v_li; + cnt_dec = fsm_resp_yumi_lo; + if (cnt == 'd1) + state_n = (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 2] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 14] ? 6'd18 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3] ? 6'd21 : (transfer_flag ? 6'd22 : 6'd27))); + end + 6'd18: + if (uc_inv_owner) begin + if (~lce_cmd_busy) begin + fsm_cmd_v_lo = fsm_cmd_ready_then_li; + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = mshr_r[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = 3'b000; + fsm_cmd_header_lo[3-:4] = (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5] ? 4'b0010 : 4'b0111); + dir_w_v = fsm_cmd_v_lo; + dir_cmd = 4'b1000; + dir_addr_li = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + dir_lce_li = mshr_r[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)]; + dir_way_li = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)]; + dir_coh_state_li = 3'b000; + state_n = (dir_w_v ? 6'd19 : 6'd18); + end + end + else + state_n = 6'd20; + 6'd19: + if (fsm_resp_v_li) begin + if (((fsm_resp_header_li[3-:4] == 4'b0011) & ~pending_busy) & ~mem_credits_empty) begin + if (~pending_busy) begin + fsm_fwd_v_lo = fsm_fwd_ready_then_li & fsm_resp_v_li; + fsm_resp_yumi_lo = fsm_fwd_v_lo; + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_resp_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_resp_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_fwd_data_lo = fsm_resp_data_li; + pending_w_v = (fsm_fwd_v_lo & fsm_fwd_new_lo) & fwd_pma_cacheable_addr_lo; + pending_li = 1'b1; + pending_w_addr = fsm_resp_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + state_n = (fsm_resp_yumi_lo & fsm_resp_last_li ? 6'd20 : 6'd19); + end + end + else if (fsm_resp_header_li[3-:4] == 4'b0100) begin + fsm_resp_yumi_lo = fsm_resp_v_li; + state_n = 6'd20; + end + else if (fsm_resp_header_li[3-:4] == 4'b0001) begin + fsm_resp_yumi_lo = fsm_resp_v_li; + state_n = 6'd20; + end + end + 6'd20: + if (~pending_busy & ~mem_credits_empty) begin + fsm_fwd_v_lo = fsm_fwd_ready_then_li & fsm_req_v_li; + fsm_req_yumi_lo = fsm_fwd_v_lo; + (* full_case, parallel_case *) + case (fsm_req_header_li[3-:4]) + 4'b0011: fsm_fwd_header_lo[3-:4] = 4'b0001; + 4'b0100: fsm_fwd_header_lo[3-:4] = 4'b0010; + default: fsm_fwd_header_lo[3-:4] = 4'b0000; + endcase + fsm_fwd_header_lo[7-:4] = mshr_r[7-:4]; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = mshr_r[10-:3]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = 1'sb0; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 1) : (3 + (paddr_width_p + 8)) - 1)] = 1'b1; + fsm_fwd_data_lo = fsm_req_data_li; + pending_w_v = (fsm_fwd_v_lo & fsm_fwd_new_lo) & fwd_pma_cacheable_addr_lo; + pending_li = 1'b1; + pending_w_addr = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + state_n = (fsm_req_yumi_lo & fsm_req_last_li ? 6'd5 : 6'd20); + end + 6'd22: + if (~lce_cmd_busy) begin + fsm_cmd_v_lo = fsm_cmd_ready_then_li; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = mshr_r[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)]; + fsm_cmd_header_lo[3-:4] = (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7] ? 4'b1001 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 6] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 5] ? 4'b1000 : 4'b1010)); + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15] ? 3'b000 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7] ? 3'b111 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8] ? 3'b011 : 3'b000))); + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))-:((lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) >= (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) ? ((lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))) + 1 : ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) - (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))) >= (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))) - (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))))) + 1 : ((lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))) + 1)] = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))))) + 1)] = mshr_r[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)]; + dir_w_v = fsm_cmd_v_lo & ((mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7]) | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8]); + dir_cmd = 4'b1000; + dir_addr_li = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + dir_lce_li = mshr_r[lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))-:((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) ? ((lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) - (lce_id_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))))) + 1)]; + dir_way_li = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) >= (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))))))) - (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))))))) + 1 : ((22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (22 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))))) + 1)]; + dir_coh_state_li = (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15] ? 3'b000 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 7] ? 3'b111 : (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8] ? 3'b011 : 3'b000))); + state_n = (fsm_cmd_v_lo ? (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 8] & ~mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15] ? 6'd26 : 6'd27) : state_r); + end + 6'd26: + if (fsm_resp_v_li) begin + if (fsm_resp_header_li[3-:4] == 4'b0100) begin + fsm_resp_yumi_lo = fsm_resp_v_li; + state_n = 6'd27; + end + else if (((fsm_resp_header_li[3-:4] == 4'b0011) & ~pending_busy) & ~mem_credits_empty) begin + fsm_fwd_v_lo = fsm_fwd_ready_then_li & fsm_resp_v_li; + fsm_resp_yumi_lo = fsm_fwd_v_lo; + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_resp_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = 1'sb0; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_resp_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_fwd_data_lo = fsm_resp_data_li; + pending_w_v = (fsm_fwd_v_lo & fsm_fwd_new_lo) & fwd_pma_cacheable_addr_lo; + pending_li = 1'b1; + pending_w_addr = fsm_resp_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + state_n = (fsm_resp_yumi_lo & fsm_resp_last_li ? 6'd27 : 6'd26); + end + end + 6'd21: + if (~lce_cmd_busy) begin + fsm_cmd_v_lo = fsm_cmd_ready_then_li; + fsm_cmd_header_lo[3-:4] = 4'b0101; + fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = mshr_r[paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))-:((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) >= (3 + (lce_id_width_p + (did_width_p + 11))) ? ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))) - (3 + (lce_id_width_p + (did_width_p + 11)))) + 1 : ((3 + (lce_id_width_p + (did_width_p + 11))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)] = mshr_r[lce_id_width_p + (did_width_p + 10)-:((lce_id_width_p + (did_width_p + 10)) >= (did_width_p + 11) ? ((lce_id_width_p + (did_width_p + 10)) - (did_width_p + 11)) + 1 : ((did_width_p + 11) - (lce_id_width_p + (did_width_p + 10))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) >= (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))) - (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) + 1 : ((cce_id_width_p + (lce_id_width_p + (did_width_p + 0))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) + 1)] = mshr_r[((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) >= (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10))))) - (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11))))) + 1 : ((paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 11)))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))) + 1)]; + fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))))-:((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) >= (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) ? ((3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1))))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0))))) + 1 : ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p + 0)))) - (3 + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (cce_id_width_p + (lce_id_width_p + (did_width_p - 1)))))) + 1)] = mshr_r[3 + (lce_id_width_p + (did_width_p + 10))-:((3 + (lce_id_width_p + (did_width_p + 10))) >= (lce_id_width_p + (did_width_p + 11)) ? ((3 + (lce_id_width_p + (did_width_p + 10))) - (lce_id_width_p + (did_width_p + 11))) + 1 : ((lce_id_width_p + (did_width_p + 11)) - (3 + (lce_id_width_p + (did_width_p + 10)))) + 1)]; + state_n = (fsm_cmd_v_lo ? 6'd27 : 6'd21); + end + 6'd27: begin + if (transfer_flag | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 3]) begin + spec_w_v = 1'b1; + spec_v_li = 1'b1; + spec_bits_li[5] = 1'b0; + squash_v_li = 1'b1; + spec_bits_li[4] = 1'b1; + end + else if (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 15]) begin + spec_w_v = 1'b1; + spec_v_li = 1'b1; + fwd_mod_v_li = 1'b1; + state_v_li = 1'b1; + spec_bits_li[5] = 1'b0; + spec_bits_li[2-:3] = 3'b110; + spec_bits_li[3] = 1'b1; + end + else if (mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 9] | mshr_r[(19 + (paddr_width_p + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (paddr_width_p + (3 + (lce_id_width_p + (did_width_p + 10)))))))) - 13]) begin + spec_w_v = 1'b1; + spec_v_li = 1'b1; + fwd_mod_v_li = 1'b1; + state_v_li = 1'b1; + spec_bits_li[5] = 1'b0; + spec_bits_li[2-:3] = 3'b001; + spec_bits_li[3] = 1'b1; + end + else begin + spec_w_v = 1'b1; + spec_v_li = 1'b1; + spec_bits_li[5] = 1'b0; + end + state_n = 6'd5; + end + 6'd28: state_n = 6'd28; + default: + ; + endcase + end + always @(posedge clk_i) + if (reset_i) begin + state_r <= 6'd0; + mshr_r <= 1'sb0; + sharers_ways_r <= 1'sb0; + sharers_hits_r <= 1'sb0; + pe_sharers_r <= 1'sb0; + cce_normal_mode_r <= 1'sb0; + end + else begin + state_r <= state_n; + mshr_r <= mshr_n; + sharers_ways_r <= sharers_ways_n; + sharers_hits_r <= sharers_hits_n; + pe_sharers_r <= pe_sharers_n; + cce_normal_mode_r <= cce_normal_mode_n; + end + initial _sv2v_0 = 0; +endmodule +module bp_cce_wrapper ( + clk_i, + reset_i, + cfg_bus_i, + ucode_v_i, + ucode_w_i, + ucode_addr_i, + ucode_data_i, + ucode_data_o, + lce_req_header_i, + lce_req_data_i, + lce_req_v_i, + lce_req_ready_and_o, + lce_resp_header_i, + lce_resp_data_i, + lce_resp_v_i, + lce_resp_ready_and_o, + lce_cmd_header_o, + lce_cmd_data_o, + lce_cmd_v_o, + lce_cmd_ready_and_i, + mem_rev_header_i, + mem_rev_data_i, + mem_rev_v_i, + mem_rev_ready_and_o, + mem_fwd_header_o, + mem_fwd_data_o, + mem_fwd_v_o, + mem_fwd_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + input ucode_v_i; + input ucode_w_i; + input [cce_pc_width_p - 1:0] ucode_addr_i; + localparam bp_me_pkg_cce_instr_width_gp = 34; + input [33:0] ucode_data_i; + output wire [33:0] ucode_data_o; + input [lce_req_header_width_lp - 1:0] lce_req_header_i; + input [bedrock_fill_width_p - 1:0] lce_req_data_i; + input lce_req_v_i; + output wire lce_req_ready_and_o; + input [lce_resp_header_width_lp - 1:0] lce_resp_header_i; + input [bedrock_fill_width_p - 1:0] lce_resp_data_i; + input lce_resp_v_i; + output wire lce_resp_ready_and_o; + output wire [lce_cmd_header_width_lp - 1:0] lce_cmd_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_cmd_data_o; + output wire lce_cmd_v_o; + input lce_cmd_ready_and_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input [bedrock_fill_width_p - 1:0] mem_rev_data_i; + input mem_rev_v_i; + output wire mem_rev_ready_and_o; + output wire [mem_fwd_header_width_lp - 1:0] mem_fwd_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_fwd_data_o; + output wire mem_fwd_v_o; + input mem_fwd_ready_and_i; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + generate + if (cce_type_p == 2'd2) begin : t + bp_cce #(.bp_params_p(bp_params_p)) cce( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .ucode_v_i(ucode_v_i), + .ucode_w_i(ucode_w_i), + .ucode_addr_i(ucode_addr_i), + .ucode_data_i(ucode_data_i), + .ucode_data_o(ucode_data_o), + .lce_req_header_i(lce_req_header_i), + .lce_req_data_i(lce_req_data_i), + .lce_req_v_i(lce_req_v_i), + .lce_req_ready_and_o(lce_req_ready_and_o), + .lce_resp_header_i(lce_resp_header_i), + .lce_resp_data_i(lce_resp_data_i), + .lce_resp_v_i(lce_resp_v_i), + .lce_resp_ready_and_o(lce_resp_ready_and_o), + .lce_cmd_header_o(lce_cmd_header_o), + .lce_cmd_data_o(lce_cmd_data_o), + .lce_cmd_v_o(lce_cmd_v_o), + .lce_cmd_ready_and_i(lce_cmd_ready_and_i), + .mem_rev_header_i(mem_rev_header_i), + .mem_rev_data_i(mem_rev_data_i), + .mem_rev_v_i(mem_rev_v_i), + .mem_rev_ready_and_o(mem_rev_ready_and_o), + .mem_fwd_header_o(mem_fwd_header_o), + .mem_fwd_data_o(mem_fwd_data_o), + .mem_fwd_v_o(mem_fwd_v_o), + .mem_fwd_ready_and_i(mem_fwd_ready_and_i) + ); + end + else if (cce_type_p == 2'd1) begin : t + bp_cce_fsm #(.bp_params_p(bp_params_p)) cce( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_i), + .lce_req_header_i(lce_req_header_i), + .lce_req_data_i(lce_req_data_i), + .lce_req_v_i(lce_req_v_i), + .lce_req_ready_and_o(lce_req_ready_and_o), + .lce_resp_header_i(lce_resp_header_i), + .lce_resp_data_i(lce_resp_data_i), + .lce_resp_v_i(lce_resp_v_i), + .lce_resp_ready_and_o(lce_resp_ready_and_o), + .lce_cmd_header_o(lce_cmd_header_o), + .lce_cmd_data_o(lce_cmd_data_o), + .lce_cmd_v_o(lce_cmd_v_o), + .lce_cmd_ready_and_i(lce_cmd_ready_and_i), + .mem_rev_header_i(mem_rev_header_i), + .mem_rev_data_i(mem_rev_data_i), + .mem_rev_v_i(mem_rev_v_i), + .mem_rev_ready_and_o(mem_rev_ready_and_o), + .mem_fwd_header_o(mem_fwd_header_o), + .mem_fwd_data_o(mem_fwd_data_o), + .mem_fwd_v_o(mem_fwd_v_o), + .mem_fwd_ready_and_i(mem_fwd_ready_and_i) + ); + end + if (icache_block_width_p != bedrock_block_width_p) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:96:54 - bp_cce_wrapper.genblk2\n msg: ", "icache block width must match cce block width"); + end + if (!(((1 << $clog2(icache_assoc_p)) == icache_assoc_p) && ((1 << $clog2(icache_sets_p)) == icache_sets_p))) begin : genblk3 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:98:5 - bp_cce_wrapper.genblk3\n msg: ", "I$ sets and assoc must be power of two"); + end + if (dcache_block_width_p != bedrock_block_width_p) begin : genblk4 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:99:54 - bp_cce_wrapper.genblk4\n msg: ", "dcache block width must match cce block width"); + end + if (!(((1 << $clog2(dcache_assoc_p)) == dcache_assoc_p) && ((1 << $clog2(dcache_sets_p)) == dcache_sets_p))) begin : genblk5 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:101:5 - bp_cce_wrapper.genblk5\n msg: ", "D$ sets and assoc must be power of two"); + end + if ((num_cacc_p > 0) && (acache_block_width_p != bedrock_block_width_p)) begin : genblk6 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:103:76 - bp_cce_wrapper.genblk6\n msg: ", "acache block width must match cce block width"); + end + if ((num_cacc_p > 0) && ((1 << $clog2(acache_assoc_p)) != acache_assoc_p)) begin : genblk7 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:105:5 - bp_cce_wrapper.genblk7\n msg: ", "A$ assoc must be power of two or 0"); + end + if ((num_cacc_p > 0) && ((1 << $clog2(acache_sets_p)) != acache_sets_p)) begin : genblk8 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:107:5 - bp_cce_wrapper.genblk8\n msg: ", "A$ sets must be power of two or 0"); + end + if (!((((1 << $clog2(bedrock_block_width_p)) == bedrock_block_width_p) || (bedrock_block_width_p < 64)) || (bedrock_block_width_p > 1024))) begin : genblk9 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:111:5 - bp_cce_wrapper.genblk9\n msg: ", "invalid CCE block width"); + end + if ((1 << $clog2(cce_way_groups_p)) != cce_way_groups_p) begin : genblk10 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:114:42 - bp_cce_wrapper.genblk10\n msg: ", "Number of way groups must be a power of two"); + end + if (cce_way_groups_p < 1) begin : genblk11 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:115:29 - bp_cce_wrapper.genblk11\n msg: ", "There must be at least one way group"); + end + if (((bedrock_fill_width_p < 64) || (bedrock_fill_width_p > bedrock_block_width_p)) || ((1 << $clog2(bedrock_fill_width_p)) != bedrock_fill_width_p)) begin : genblk12 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_cce_wrapper.sv:120:7 - bp_cce_wrapper.genblk12\n msg: ", "CCE requires bedrock data width of between 64-bits and block width and power of 2 bits"); + end + endgenerate +endmodule +module bp_bedrock_size_to_len ( + size_i, + len_o +); + reg _sv2v_0; + parameter beat_width_p = 0; + parameter len_width_p = 0; + input wire [2:0] size_i; + output reg [len_width_p - 1:0] len_o; + localparam msg_size_1_beats_lp = (((8 + beat_width_p) - 1) / beat_width_p) - 1; + localparam msg_size_2_beats_lp = (((16 + beat_width_p) - 1) / beat_width_p) - 1; + localparam msg_size_4_beats_lp = (((32 + beat_width_p) - 1) / beat_width_p) - 1; + localparam msg_size_8_beats_lp = (((64 + beat_width_p) - 1) / beat_width_p) - 1; + localparam msg_size_16_beats_lp = (((128 + beat_width_p) - 1) / beat_width_p) - 1; + localparam msg_size_32_beats_lp = (((256 + beat_width_p) - 1) / beat_width_p) - 1; + localparam msg_size_64_beats_lp = (((512 + beat_width_p) - 1) / beat_width_p) - 1; + localparam msg_size_128_beats_lp = (((1024 + beat_width_p) - 1) / beat_width_p) - 1; + generate + if (!(len_width_p >= ((msg_size_128_beats_lp == 1) || (msg_size_128_beats_lp == 0) ? 1 : $clog2(msg_size_128_beats_lp)))) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_bedrock_size_to_len.sv:42:5 - bp_bedrock_size_to_len.genblk1\n msg: ", "len_width_p must be large enough for max size messages, !(%d >= %d)", len_width_p, ((msg_size_128_beats_lp == 1) || (msg_size_128_beats_lp == 0) ? 1 : $clog2(msg_size_128_beats_lp))); + end + if ((1 << $clog2(beat_width_p)) != beat_width_p) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_bedrock_size_to_len.sv:45:5 - bp_bedrock_size_to_len.genblk2\n msg: ", "beat_width_p must be a power of two"); + end + if (beat_width_p < 8) begin : genblk3 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/cce/bp_bedrock_size_to_len.sv:47:5 - bp_bedrock_size_to_len.genblk3\n msg: ", "beat_width_p must be at least 8 bits wide"); + end + endgenerate + function automatic signed [len_width_p - 1:0] sv2v_cast_A090F_signed; + input reg signed [len_width_p - 1:0] inp; + sv2v_cast_A090F_signed = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + case (size_i) + 3'b000: len_o = sv2v_cast_A090F_signed(msg_size_1_beats_lp); + 3'b001: len_o = sv2v_cast_A090F_signed(msg_size_2_beats_lp); + 3'b010: len_o = sv2v_cast_A090F_signed(msg_size_4_beats_lp); + 3'b011: len_o = sv2v_cast_A090F_signed(msg_size_8_beats_lp); + 3'b100: len_o = sv2v_cast_A090F_signed(msg_size_16_beats_lp); + 3'b101: len_o = sv2v_cast_A090F_signed(msg_size_32_beats_lp); + 3'b110: len_o = sv2v_cast_A090F_signed(msg_size_64_beats_lp); + 3'b111: len_o = sv2v_cast_A090F_signed(msg_size_128_beats_lp); + default: len_o = 1'sb0; + endcase + end + initial _sv2v_0 = 0; +endmodule +module bp_uce ( + clk_i, + reset_i, + did_i, + lce_id_i, + cache_req_i, + cache_req_v_i, + cache_req_yumi_o, + cache_req_lock_o, + cache_req_metadata_i, + cache_req_metadata_v_i, + cache_req_id_o, + cache_req_critical_o, + cache_req_last_o, + cache_req_credits_full_o, + cache_req_credits_empty_o, + tag_mem_pkt_o, + tag_mem_pkt_v_o, + tag_mem_pkt_yumi_i, + tag_mem_i, + data_mem_pkt_o, + data_mem_pkt_v_o, + data_mem_pkt_yumi_i, + data_mem_i, + stat_mem_pkt_o, + stat_mem_pkt_v_o, + stat_mem_pkt_yumi_i, + stat_mem_i, + mem_fwd_header_o, + mem_fwd_data_o, + mem_fwd_v_o, + mem_fwd_ready_and_i, + mem_rev_header_i, + mem_rev_data_i, + mem_rev_v_i, + mem_rev_ready_and_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + parameter writeback_p = 0; + parameter assoc_p = 0; + parameter sets_p = 0; + parameter block_width_p = 0; + parameter fill_width_p = 0; + parameter data_width_p = 0; + parameter tag_width_p = 0; + parameter id_width_p = 0; + localparam cache_req_width_lp = ((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 8; + localparam cache_req_metadata_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1; + localparam cache_data_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 2; + localparam cache_tag_mem_pkt_width_lp = (((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 3; + localparam cache_tag_info_width_lp = 3 + tag_width_p; + localparam cache_stat_mem_pkt_width_lp = (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 2; + localparam cache_stat_info_width_lp = (2 > ((2 * assoc_p) - 1) ? 2 : (2 * assoc_p) - 1); + input clk_i; + input reset_i; + input [did_width_p - 1:0] did_i; + input [lce_id_width_p - 1:0] lce_id_i; + input [cache_req_width_lp - 1:0] cache_req_i; + input cache_req_v_i; + output reg cache_req_yumi_o; + output wire cache_req_lock_o; + input [cache_req_metadata_width_lp - 1:0] cache_req_metadata_i; + input cache_req_metadata_v_i; + output wire [id_width_p - 1:0] cache_req_id_o; + output reg cache_req_critical_o; + output reg cache_req_last_o; + output wire cache_req_credits_full_o; + output wire cache_req_credits_empty_o; + output wire [cache_tag_mem_pkt_width_lp - 1:0] tag_mem_pkt_o; + output reg tag_mem_pkt_v_o; + input tag_mem_pkt_yumi_i; + input [cache_tag_info_width_lp - 1:0] tag_mem_i; + output wire [cache_data_mem_pkt_width_lp - 1:0] data_mem_pkt_o; + output reg data_mem_pkt_v_o; + input data_mem_pkt_yumi_i; + input [block_width_p - 1:0] data_mem_i; + output wire [cache_stat_mem_pkt_width_lp - 1:0] stat_mem_pkt_o; + output reg stat_mem_pkt_v_o; + input stat_mem_pkt_yumi_i; + input [cache_stat_info_width_lp - 1:0] stat_mem_i; + output wire [mem_fwd_header_width_lp - 1:0] mem_fwd_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_fwd_data_o; + output wire mem_fwd_v_o; + input mem_fwd_ready_and_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input [bedrock_fill_width_p - 1:0] mem_rev_data_i; + input mem_rev_v_i; + output wire mem_rev_ready_and_o; + localparam bank_width_lp = block_width_p / assoc_p; + localparam num_dwords_per_bank_lp = bank_width_lp / bp_common_pkg_dword_width_gp; + localparam byte_offset_width_lp = (((bank_width_lp >> 3) == 1) || ((bank_width_lp >> 3) == 0) ? 1 : $clog2(bank_width_lp >> 3)); + localparam bank_offset_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam block_offset_width_lp = (assoc_p > 1 ? bank_offset_width_lp + byte_offset_width_lp : byte_offset_width_lp); + localparam index_width_lp = ((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)); + localparam way_width_lp = ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)); + localparam block_size_in_fill_lp = block_width_p / fill_width_p; + localparam fill_size_in_bank_lp = fill_width_p / bank_width_lp; + localparam fill_cnt_width_lp = ((block_size_in_fill_lp == 1) || (block_size_in_fill_lp == 0) ? 1 : $clog2(block_size_in_fill_lp)); + localparam fill_offset_width_lp = (((fill_width_p >> 3) == 1) || ((fill_width_p >> 3) == 0) ? 1 : $clog2(fill_width_p >> 3)); + localparam bank_sub_offset_width_lp = $clog2(fill_size_in_bank_lp); + localparam [2:0] block_msg_size_lp = (block_width_p == 512 ? 3'b110 : (block_width_p == 256 ? 3'b101 : (block_width_p == 128 ? 3'b100 : (block_width_p == 64 ? 3'b011 : 3'b110)))); + wire [((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7:0] cache_req_cast_i; + assign cache_req_cast_i = cache_req_i; + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0:0] cache_req_metadata_cast_i; + assign cache_req_metadata_cast_i = cache_req_metadata_i; + reg [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 3) + tag_width_p) + 2:0] tag_mem_pkt_cast_o; + assign tag_mem_pkt_o = tag_mem_pkt_cast_o; + reg [(((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + fill_width_p) + (block_width_p / fill_width_p)) + 1:0] data_mem_pkt_cast_o; + assign data_mem_pkt_o = data_mem_pkt_cast_o; + reg [(((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 1:0] stat_mem_pkt_cast_o; + assign stat_mem_pkt_o = stat_mem_pkt_cast_o; + reg [4:0] state_n; + reg [4:0] state_r; + wire is_reset = state_r == 5'd0; + wire is_backoff = state_r == 5'd2; + wire is_inval = state_r == 5'd3; + wire is_init = state_r == 5'd1; + wire is_clean_read = state_r == 5'd4; + wire is_clean_scan = state_r == 5'd5; + wire is_clean_write = state_r == 5'd6; + wire is_clean_fence = state_r == 5'd7; + wire is_ready = state_r == 5'd10; + wire is_send_critical = state_r == 5'd13; + wire is_writeback_evict = state_r == 5'd14; + wire is_writeback_read = state_r == 5'd15; + wire is_writeback_wb = state_r == 5'd16; + wire is_write_request = state_r == 5'd17; + wire is_read_request = state_r == 5'd18; + wire is_uc_read_wait = state_r == 5'd19; + wire cache_req_ready_lo; + wire [((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7:0] cache_req_r; + wire cache_req_v_r; + reg cache_req_done; + bsg_two_fifo #( + .width_p(((((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((id_width_p + 1) + data_width_p) + 3) + paddr_width_p) + 7))), + .ready_THEN_valid_p(1) + ) cache_req_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(cache_req_cast_i), + .v_i(cache_req_yumi_o), + .ready_param_o(cache_req_ready_lo), + .data_o(cache_req_r), + .v_o(cache_req_v_r), + .yumi_i(cache_req_v_r & cache_req_done) + ); + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0:0] cache_req_metadata; + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0:0] cache_req_metadata_r; + wire cache_req_metadata_v_r; + bsg_two_fifo #( + .width_p(((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 0 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1 : 1 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))), + .ready_THEN_valid_p(1) + ) cache_req_metadata_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(cache_req_metadata_cast_i), + .v_i(cache_req_metadata_v_i & (cache_req_metadata_v_r | ~cache_req_done)), + .ready_param_o(), + .data_o(cache_req_metadata_r), + .v_o(cache_req_metadata_v_r), + .yumi_i(cache_req_metadata_v_r & cache_req_done) + ); + assign cache_req_metadata = (cache_req_metadata_v_r ? cache_req_metadata_r : cache_req_metadata_cast_i); + wire cache_req_metadata_v = cache_req_metadata_v_i | cache_req_metadata_v_r; + wire [block_width_p - 1:0] dirty_data_r; + wire dirty_data_read = data_mem_pkt_v_o & (data_mem_pkt_cast_o[1-:2] == 2'd1); + bsg_dff_sync_read #( + .width_p(block_width_p), + .bypass_p(1) + ) dirty_data_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(data_mem_i), + .v_n_i(dirty_data_read), + .data_o(dirty_data_r) + ); + wire [(3 + tag_width_p) - 1:0] dirty_tag_r; + wire dirty_tag_read = tag_mem_pkt_v_o & (tag_mem_pkt_cast_o[2-:3] == 3'd4); + bsg_dff_sync_read #( + .width_p(3 + tag_width_p), + .bypass_p(1) + ) dirty_tag_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(tag_mem_i), + .v_n_i(dirty_tag_read), + .data_o(dirty_tag_r) + ); + wire [(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p) - 1:0] dirty_stat_r; + wire dirty_stat_read = stat_mem_pkt_v_o & (stat_mem_pkt_cast_o[1-:2] == 2'd1); + bsg_dff_sync_read #( + .width_p(((assoc_p < 2 ? 0 : assoc_p - 2) >= 0 ? (assoc_p < 2 ? 0 : assoc_p - 2) + 1 : 1 - (assoc_p < 2 ? 0 : assoc_p - 2)) + assoc_p), + .bypass_p(1) + ) dirty_stat_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(stat_mem_i), + .v_n_i(dirty_stat_read), + .data_o(dirty_stat_r) + ); + reg [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_fwd_header_lo; + reg [fill_width_p - 1:0] fsm_fwd_data_lo; + reg fsm_fwd_v_lo; + wire fsm_fwd_ready_then_li; + wire [paddr_width_p - 1:0] fsm_fwd_addr_lo; + wire fsm_fwd_new_lo; + wire fsm_fwd_critical_lo; + wire fsm_fwd_last_lo; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(fill_width_p), + .payload_width_p(mem_fwd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp) + ) fwd_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(mem_fwd_header_o), + .msg_data_o(mem_fwd_data_o), + .msg_v_o(mem_fwd_v_o), + .msg_ready_and_i(mem_fwd_ready_and_i), + .fsm_header_i(fsm_fwd_header_lo), + .fsm_data_i(fsm_fwd_data_lo), + .fsm_v_i(fsm_fwd_v_lo), + .fsm_ready_then_o(fsm_fwd_ready_then_li), + .fsm_addr_o(fsm_fwd_addr_lo), + .fsm_new_o(fsm_fwd_new_lo), + .fsm_critical_o(fsm_fwd_critical_lo), + .fsm_last_o(fsm_fwd_last_lo) + ); + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_rev_header_li; + wire [fill_width_p - 1:0] fsm_rev_data_li; + wire fsm_rev_v_li; + wire fsm_rev_yumi_lo; + wire [paddr_width_p - 1:0] fsm_rev_addr_li; + wire fsm_rev_new_li; + wire fsm_rev_critical_li; + wire fsm_rev_last_li; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(fill_width_p), + .payload_width_p(mem_rev_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp) + ) rev_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(mem_rev_header_i), + .msg_data_i(mem_rev_data_i), + .msg_v_i(mem_rev_v_i), + .msg_ready_and_o(mem_rev_ready_and_o), + .fsm_header_o(fsm_rev_header_li), + .fsm_data_o(fsm_rev_data_li), + .fsm_v_o(fsm_rev_v_li), + .fsm_yumi_i(fsm_rev_yumi_lo), + .fsm_addr_o(fsm_rev_addr_li), + .fsm_new_o(fsm_rev_new_li), + .fsm_critical_o(fsm_rev_critical_li), + .fsm_last_o(fsm_rev_last_li) + ); + wire miss_load_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0000); + wire miss_store_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0001); + wire miss_v_li = (cache_req_v_i & miss_load_v_li) | miss_store_v_li; + wire wt_store_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0010); + wire uc_load_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0011); + wire uc_store_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0100); + wire uc_amo_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0101); + wire uc_evict_v_li = (((uc_load_v_li | uc_store_v_li) | uc_amo_v_li) & writeback_p) & cache_req_cast_i[1 + (data_width_p + (3 + (paddr_width_p + 7)))]; + wire inval_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0111); + wire clean_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b0110); + wire flush_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b1000); + wire binval_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b1100); + wire bclean_v_li = cache_req_v_i & (cache_req_cast_i[7-:4] == 4'b1011); + wire nonblocking_v_li = (cache_req_v_i & (uc_store_v_li | wt_store_v_li)) & ~uc_evict_v_li; + wire store_resp_v_li = fsm_rev_v_li & (fsm_rev_header_li[3-:4] == 4'b0001); + wire load_resp_v_li = fsm_rev_v_li & |{fsm_rev_header_li[3-:4] == 4'b0000, fsm_rev_header_li[3-:4] == 4'b0010}; + wire miss_load_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0000); + wire miss_store_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0001); + wire miss_v_r = (cache_req_v_r & miss_load_v_r) | miss_store_v_r; + wire wt_store_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0010); + wire uc_load_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0011); + wire uc_store_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0100); + wire uc_amo_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0101); + wire uc_evict_v_r = (((uc_load_v_r | uc_store_v_r) | uc_amo_v_r) & writeback_p) & cache_req_r[1 + (data_width_p + (3 + (paddr_width_p + 7)))]; + wire inval_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0111); + wire clean_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b0110); + wire flush_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b1000); + wire binval_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b1100); + wire bclean_v_r = cache_req_v_r & (cache_req_r[7-:4] == 4'b1011); + wire nonblocking_v_r = (cache_req_v_r & (uc_store_v_r | wt_store_v_r)) & ~uc_evict_v_r; + wire [block_size_in_fill_lp - 1:0] fill_index_shift = (assoc_p > 1 ? fsm_rev_addr_li[byte_offset_width_lp+:bank_offset_width_lp] >> bank_sub_offset_width_lp : {((0 >= (paddr_width_p - 1) ? byte_offset_width_lp : (byte_offset_width_lp + bank_offset_width_lp) - 1) >= (0 >= (paddr_width_p - 1) ? (byte_offset_width_lp + bank_offset_width_lp) - 1 : byte_offset_width_lp) ? ((0 >= (paddr_width_p - 1) ? byte_offset_width_lp : (byte_offset_width_lp + bank_offset_width_lp) - 1) - (0 >= (paddr_width_p - 1) ? (byte_offset_width_lp + bank_offset_width_lp) - 1 : byte_offset_width_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (byte_offset_width_lp + bank_offset_width_lp) - 1 : byte_offset_width_lp) - (0 >= (paddr_width_p - 1) ? byte_offset_width_lp : (byte_offset_width_lp + bank_offset_width_lp) - 1)) + 1) {1'sb0}}); + wire [index_width_lp - 1:0] index_cnt; + reg index_clear; + reg index_up; + bsg_counter_clear_up #( + .max_val_p(sets_p - 1), + .init_val_p(0), + .disable_overflow_warning_p(1) + ) index_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(index_clear), + .up_i(index_up), + .count_o(index_cnt) + ); + wire index_done = index_up && ((sets_p == 1) || (index_cnt == (sets_p - 1))); + wire [((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) - 1:0] way_cnt; + reg way_clear; + reg way_up; + bsg_counter_clear_up #( + .max_val_p(assoc_p - 1), + .init_val_p(0), + .disable_overflow_warning_p(1) + ) way_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(way_clear), + .up_i(way_up), + .count_o(way_cnt) + ); + wire way_done = way_up && ((assoc_p == 1) || (way_cnt == (assoc_p - 1))); + wire [$clog2({1'b0, coh_noc_max_credits_p} + 1) - 1:0] credit_count_lo; + bsg_flow_counter #( + .els_p(coh_noc_max_credits_p), + .ready_THEN_valid_p(1) + ) credit_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .v_i(fsm_fwd_v_lo & fsm_fwd_last_lo), + .ready_param_i(fsm_fwd_ready_then_li), + .yumi_i(fsm_rev_yumi_lo & fsm_rev_last_li), + .count_o(credit_count_lo) + ); + assign cache_req_credits_full_o = cache_req_v_r && (credit_count_lo == coh_noc_max_credits_p); + assign cache_req_credits_empty_o = ~cache_req_v_r && (credit_count_lo == 0); + wire [fill_width_p - 1:0] writeback_data; + wire [fill_cnt_width_lp - 1:0] dirty_data_select = fsm_fwd_addr_lo[fill_offset_width_lp+:fill_cnt_width_lp]; + bsg_mux #( + .width_p(fill_width_p), + .els_p(block_size_in_fill_lp) + ) writeback_mux( + .data_i(dirty_data_r), + .sel_i(dirty_data_select), + .data_o(writeback_data) + ); + reg [3:0] cache_wr_subop; + reg [3:0] mem_wr_subop; + always @(*) begin + if (_sv2v_0) + ; + cache_wr_subop = cache_req_r[3-:4]; + (* full_case, parallel_case *) + case (cache_wr_subop) + 4'b0001: mem_wr_subop = 4'b0001; + 4'b0010: mem_wr_subop = 4'b0010; + 4'b0011: mem_wr_subop = 4'b0011; + 4'b0100: mem_wr_subop = 4'b0100; + 4'b0101: mem_wr_subop = 4'b0101; + 4'b0110: mem_wr_subop = 4'b0110; + 4'b0111: mem_wr_subop = 4'b0111; + 4'b1000: mem_wr_subop = 4'b1000; + 4'b1001: mem_wr_subop = 4'b1001; + 4'b1010: mem_wr_subop = 4'b1010; + 4'b1011: mem_wr_subop = 4'b1011; + default: mem_wr_subop = 4'b0000; + endcase + end + reg load_resp_yumi_lo; + assign fsm_rev_yumi_lo = load_resp_yumi_lo | store_resp_v_li; + assign cache_req_lock_o = (((is_reset | is_init) | inval_v_r) | clean_v_r) | flush_v_r; + wire blocking_req_v_lo; + function automatic signed [block_offset_width_lp - 1:0] sv2v_cast_234C1_signed; + input reg signed [block_offset_width_lp - 1:0] inp; + sv2v_cast_234C1_signed = inp; + endfunction + function automatic [lce_assoc_p - 1:0] sv2v_cast_E1B99; + input reg [lce_assoc_p - 1:0] inp; + sv2v_cast_E1B99 = inp; + endfunction + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + cache_req_yumi_o = 1'sb0; + index_up = 1'sb0; + index_clear = 1'sb0; + way_up = 1'sb0; + way_clear = 1'sb0; + tag_mem_pkt_cast_o = 1'sb0; + tag_mem_pkt_v_o = 1'sb0; + data_mem_pkt_cast_o = 1'sb0; + data_mem_pkt_v_o = 1'sb0; + stat_mem_pkt_cast_o = 1'sb0; + stat_mem_pkt_v_o = 1'sb0; + cache_req_critical_o = 1'sb0; + cache_req_last_o = 1'sb0; + cache_req_done = 1'sb0; + fsm_fwd_header_lo = 1'sb0; + fsm_fwd_data_lo = 1'sb0; + fsm_fwd_v_lo = 1'sb0; + load_resp_yumi_lo = 1'sb0; + state_n = state_r; + (* full_case, parallel_case *) + case (state_r) + 5'd0: state_n = 5'd1; + 5'd1, 5'd3: begin + tag_mem_pkt_cast_o[2-:3] = 3'd0; + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = index_cnt; + tag_mem_pkt_v_o = 1'b1; + stat_mem_pkt_cast_o[1-:2] = 2'd0; + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = index_cnt; + stat_mem_pkt_v_o = 1'b1; + index_up = tag_mem_pkt_yumi_i & stat_mem_pkt_yumi_i; + cache_req_critical_o = is_inval & index_done; + cache_req_last_o = cache_req_critical_o; + cache_req_done = cache_req_last_o; + state_n = (index_done & index_up ? 5'd10 : state_r); + end + 5'd2: state_n = (fsm_fwd_ready_then_li ? 5'd10 : state_r); + 5'd4: begin + stat_mem_pkt_cast_o[1-:2] = 2'd1; + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = index_cnt; + stat_mem_pkt_v_o = 1'b1; + tag_mem_pkt_cast_o[2-:3] = 3'd3; + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = index_cnt; + tag_mem_pkt_v_o = flush_v_r; + state_n = (stat_mem_pkt_yumi_i & (~tag_mem_pkt_v_o | tag_mem_pkt_yumi_i) ? 5'd5 : state_r); + end + 5'd5: + if (~|dirty_stat_r) begin + way_clear = 1'b1; + index_up = way_clear; + state_n = (index_done ? 5'd7 : 5'd4); + end + else if (dirty_stat_r[way_cnt]) begin + data_mem_pkt_cast_o[1-:2] = 2'd1; + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = index_cnt; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = way_cnt; + data_mem_pkt_cast_o[(block_width_p / fill_width_p) + 1-:(((block_width_p / fill_width_p) + 1) >= 2 ? (block_width_p / fill_width_p) + 0 : 3 - ((block_width_p / fill_width_p) + 1))] = {block_size_in_fill_lp {1'b1}}; + data_mem_pkt_v_o = 1'b1; + tag_mem_pkt_cast_o[2-:3] = 3'd4; + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = index_cnt; + tag_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)] = way_cnt; + tag_mem_pkt_v_o = 1'b1; + stat_mem_pkt_cast_o[1-:2] = 2'd2; + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = index_cnt; + stat_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1) >= 2 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 3 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))] = way_cnt; + stat_mem_pkt_v_o = 1'b1; + state_n = ((data_mem_pkt_yumi_i & tag_mem_pkt_yumi_i) & stat_mem_pkt_yumi_i ? 5'd6 : state_r); + end + else begin + way_up = 1'b1; + index_up = way_done; + state_n = (index_done & way_done ? 5'd7 : (way_done ? 5'd4 : 5'd5)); + end + 5'd6: begin + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = {dirty_tag_r[tag_width_p - 1-:tag_width_p], index_cnt, sv2v_cast_234C1_signed(0)}; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = block_msg_size_lp; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = sv2v_cast_E1B99(cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_id_i; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = did_i; + fsm_fwd_data_lo = writeback_data; + fsm_fwd_v_lo = fsm_fwd_ready_then_li & ~cache_req_credits_full_o; + way_up = fsm_fwd_v_lo & fsm_fwd_last_lo; + index_up = way_done; + state_n = (index_done & way_done ? 5'd7 : (index_up ? 5'd4 : (way_up ? 5'd5 : 5'd6))); + end + 5'd7: begin + cache_req_critical_o = credit_count_lo == {$clog2({1'b0, coh_noc_max_credits_p} + 1) {1'sb0}}; + cache_req_last_o = cache_req_critical_o; + cache_req_done = cache_req_last_o; + state_n = (cache_req_last_o ? 5'd10 : state_r); + end + 5'd8: begin + data_mem_pkt_cast_o[1-:2] = 2'd1; + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = cache_req_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)+:index_width_lp]; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]; + data_mem_pkt_cast_o[(block_width_p / fill_width_p) + 1-:(((block_width_p / fill_width_p) + 1) >= 2 ? (block_width_p / fill_width_p) + 0 : 3 - ((block_width_p / fill_width_p) + 1))] = {block_size_in_fill_lp {1'b1}}; + data_mem_pkt_v_o = 1'b1; + state_n = (data_mem_pkt_yumi_i ? 5'd9 : state_r); + end + 5'd9: begin + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = {cache_req_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - (paddr_width_p - 1)):(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)], sv2v_cast_234C1_signed(0)}; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = block_msg_size_lp; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = sv2v_cast_E1B99(cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_id_i; + fsm_fwd_data_lo = writeback_data; + fsm_fwd_v_lo = fsm_fwd_ready_then_li & cache_req_metadata[0]; + cache_req_done = ~cache_req_metadata[0] || (fsm_fwd_v_lo & fsm_fwd_last_lo); + state_n = (cache_req_done ? 5'd10 : state_r); + end + 5'd10: begin + cache_req_yumi_o = (cache_req_v_i & cache_req_ready_lo) & (~cache_req_v_r | nonblocking_v_li); + state_n = (cache_req_yumi_o ? (flush_v_li | clean_v_li ? 5'd4 : (inval_v_li ? 5'd3 : (bclean_v_li ? 5'd8 : (uc_evict_v_li ? 5'd11 : (nonblocking_v_li ? 5'd10 : 5'd13))))) : (cache_req_v_i ? 5'd2 : state_r)); + end + 5'd11: begin + data_mem_pkt_cast_o[1-:2] = 2'd1; + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = cache_req_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)+:index_width_lp]; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]; + data_mem_pkt_cast_o[(block_width_p / fill_width_p) + 1-:(((block_width_p / fill_width_p) + 1) >= 2 ? (block_width_p / fill_width_p) + 0 : 3 - ((block_width_p / fill_width_p) + 1))] = {block_size_in_fill_lp {1'b1}}; + data_mem_pkt_v_o = cache_req_metadata[0]; + stat_mem_pkt_cast_o[1-:2] = 2'd2; + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = cache_req_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)+:index_width_lp]; + stat_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1) >= 2 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 3 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))] = cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]; + stat_mem_pkt_v_o = cache_req_metadata[0]; + state_n = (cache_req_metadata[0] ? (data_mem_pkt_yumi_i & stat_mem_pkt_yumi_i ? 5'd12 : state_r) : 5'd13); + end + 5'd12: begin + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = {cache_req_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - (paddr_width_p - 1)):(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)], sv2v_cast_234C1_signed(0)}; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = block_msg_size_lp; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = sv2v_cast_E1B99(cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_id_i; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = did_i; + fsm_fwd_data_lo = writeback_data; + fsm_fwd_v_lo = fsm_fwd_ready_then_li & ~cache_req_credits_full_o; + state_n = (fsm_fwd_v_lo & fsm_fwd_last_lo ? 5'd13 : state_r); + end + 5'd13: + if (miss_v_r) begin + fsm_fwd_header_lo[3-:4] = 4'b0000; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = cache_req_r[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = sv2v_cast_3(cache_req_r[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = sv2v_cast_E1B99(cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_id_i; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = did_i; + fsm_fwd_v_lo = fsm_fwd_ready_then_li & ~cache_req_credits_full_o; + state_n = (fsm_fwd_v_lo & fsm_fwd_last_lo ? (cache_req_metadata[0] ? 5'd14 : 5'd18) : state_r); + end + else if (uc_load_v_r | uc_amo_v_r) begin + fsm_fwd_header_lo[3-:4] = (uc_load_v_r ? 4'b0000 : 4'b0010); + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = cache_req_r[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = sv2v_cast_3(cache_req_r[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = sv2v_cast_E1B99(cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_id_i; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = did_i; + fsm_fwd_header_lo[7-:4] = mem_wr_subop; + fsm_fwd_data_lo = {fill_width_p / bp_common_pkg_dword_width_gp {cache_req_r[data_width_p + (3 + (paddr_width_p + 7))-:((data_width_p + (3 + (paddr_width_p + 7))) >= (3 + (paddr_width_p + 8)) ? ((data_width_p + (3 + (paddr_width_p + 7))) - (3 + (paddr_width_p + 8))) + 1 : ((3 + (paddr_width_p + 8)) - (data_width_p + (3 + (paddr_width_p + 7)))) + 1)]}}; + fsm_fwd_v_lo = fsm_fwd_ready_then_li & ~cache_req_credits_full_o; + state_n = (fsm_fwd_v_lo & fsm_fwd_last_lo ? 5'd19 : state_r); + end + else if (uc_store_v_r) begin + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = cache_req_r[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = sv2v_cast_3(cache_req_r[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = sv2v_cast_E1B99(cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_id_i; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = did_i; + fsm_fwd_header_lo[7-:4] = mem_wr_subop; + fsm_fwd_data_lo = {fill_width_p / bp_common_pkg_dword_width_gp {cache_req_r[data_width_p + (3 + (paddr_width_p + 7))-:((data_width_p + (3 + (paddr_width_p + 7))) >= (3 + (paddr_width_p + 8)) ? ((data_width_p + (3 + (paddr_width_p + 7))) - (3 + (paddr_width_p + 8))) + 1 : ((3 + (paddr_width_p + 8)) - (data_width_p + (3 + (paddr_width_p + 7)))) + 1)]}}; + fsm_fwd_v_lo = fsm_fwd_ready_then_li & ~cache_req_credits_full_o; + cache_req_done = fsm_fwd_v_lo & fsm_fwd_last_lo; + state_n = (cache_req_done ? 5'd10 : state_r); + end + 5'd14: begin + data_mem_pkt_cast_o[1-:2] = 2'd1; + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = cache_req_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)+:index_width_lp]; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]; + data_mem_pkt_cast_o[(block_width_p / fill_width_p) + 1-:(((block_width_p / fill_width_p) + 1) >= 2 ? (block_width_p / fill_width_p) + 0 : 3 - ((block_width_p / fill_width_p) + 1))] = {block_size_in_fill_lp {1'b1}}; + data_mem_pkt_v_o = 1'b1; + tag_mem_pkt_cast_o[2-:3] = 3'd4; + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = cache_req_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)+:index_width_lp]; + tag_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)] = cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]; + tag_mem_pkt_v_o = 1'b1; + stat_mem_pkt_cast_o[1-:2] = 2'd2; + stat_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2)) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 2) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))) + 1)] = cache_req_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)+:index_width_lp]; + stat_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1) >= 2 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 3 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 1))] = cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]; + stat_mem_pkt_v_o = 1'b1; + state_n = ((data_mem_pkt_yumi_i & tag_mem_pkt_yumi_i) & stat_mem_pkt_yumi_i ? 5'd15 : 5'd14); + end + 5'd15: begin + tag_mem_pkt_cast_o[2-:3] = 3'd1; + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = fsm_rev_addr_li[block_offset_width_lp+:index_width_lp]; + tag_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1))) : (((3 + (paddr_width_p + 8)) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) - ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 1)+:((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))]; + tag_mem_pkt_cast_o[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)] = 3'b110; + tag_mem_pkt_cast_o[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] = fsm_rev_addr_li[block_offset_width_lp + index_width_lp+:tag_width_p]; + tag_mem_pkt_v_o = load_resp_v_li & fsm_rev_new_li; + data_mem_pkt_cast_o[1-:2] = 2'd0; + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = fsm_rev_addr_li[block_offset_width_lp+:index_width_lp]; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1))) : (((3 + (paddr_width_p + 8)) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) - ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 1)+:((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))]; + data_mem_pkt_cast_o[fill_width_p + ((block_width_p / fill_width_p) + 1)-:((fill_width_p + ((block_width_p / fill_width_p) + 1)) >= ((block_width_p / fill_width_p) + 2) ? ((fill_width_p + ((block_width_p / fill_width_p) + 1)) - ((block_width_p / fill_width_p) + 2)) + 1 : (((block_width_p / fill_width_p) + 2) - (fill_width_p + ((block_width_p / fill_width_p) + 1))) + 1)] = fsm_rev_data_li; + data_mem_pkt_cast_o[(block_width_p / fill_width_p) + 1-:(((block_width_p / fill_width_p) + 1) >= 2 ? (block_width_p / fill_width_p) + 0 : 3 - ((block_width_p / fill_width_p) + 1))] = 1'b1 << fill_index_shift; + data_mem_pkt_v_o = load_resp_v_li; + load_resp_yumi_lo = (~fsm_rev_new_li | tag_mem_pkt_yumi_i) && data_mem_pkt_yumi_i; + cache_req_critical_o = load_resp_v_li & fsm_rev_critical_li; + cache_req_last_o = load_resp_v_li & fsm_rev_last_li; + state_n = (load_resp_yumi_lo & cache_req_last_o ? 5'd16 : 5'd15); + end + 5'd16: begin + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = {dirty_tag_r[tag_width_p - 1-:tag_width_p], cache_req_r[(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)+:index_width_lp], sv2v_cast_234C1_signed(0)}; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = block_msg_size_lp; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = sv2v_cast_E1B99(cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_id_i; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = did_i; + fsm_fwd_data_lo = writeback_data; + fsm_fwd_v_lo = fsm_fwd_ready_then_li & ~cache_req_credits_full_o; + cache_req_done = fsm_fwd_v_lo & fsm_fwd_last_lo; + state_n = (cache_req_done ? 5'd10 : 5'd16); + end + 5'd18: begin + tag_mem_pkt_cast_o[2-:3] = 3'd1; + tag_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 3))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))))) + 1)] = fsm_rev_addr_li[block_offset_width_lp+:index_width_lp]; + tag_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) >= (3 + (tag_width_p + 3)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2))) - (3 + (tag_width_p + 3))) + 1 : ((3 + (tag_width_p + 3)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (3 + (tag_width_p + 2)))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1))) : (((3 + (paddr_width_p + 8)) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) - ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 1)+:((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))]; + tag_mem_pkt_cast_o[3 + (tag_width_p + 2)-:((3 + (tag_width_p + 2)) >= (tag_width_p + 3) ? ((3 + (tag_width_p + 2)) - (tag_width_p + 3)) + 1 : ((tag_width_p + 3) - (3 + (tag_width_p + 2))) + 1)] = 3'b110; + tag_mem_pkt_cast_o[tag_width_p + 2-:((tag_width_p + 2) >= 3 ? tag_width_p + 0 : 4 - (tag_width_p + 2))] = fsm_rev_addr_li[block_offset_width_lp + index_width_lp+:tag_width_p]; + tag_mem_pkt_v_o = load_resp_v_li & fsm_rev_new_li; + data_mem_pkt_cast_o[1-:2] = 2'd0; + data_mem_pkt_cast_o[((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))-:((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) >= (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) ? ((((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2)))) + 1 : ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 2))) - (((sets_p == 1) || (sets_p == 0) ? 1 : $clog2(sets_p)) + (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))))) + 1)] = fsm_rev_addr_li[block_offset_width_lp+:index_width_lp]; + data_mem_pkt_cast_o[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) >= (fill_width_p + ((block_width_p / fill_width_p) + 2)) ? ((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1))) - (fill_width_p + ((block_width_p / fill_width_p) + 2))) + 1 : ((fill_width_p + ((block_width_p / fill_width_p) + 2)) - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + (fill_width_p + ((block_width_p / fill_width_p) + 1)))) + 1)] = fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1))) : (((3 + (paddr_width_p + 8)) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) - 1) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))))) - ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))) + 1)+:((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p))]; + data_mem_pkt_cast_o[fill_width_p + ((block_width_p / fill_width_p) + 1)-:((fill_width_p + ((block_width_p / fill_width_p) + 1)) >= ((block_width_p / fill_width_p) + 2) ? ((fill_width_p + ((block_width_p / fill_width_p) + 1)) - ((block_width_p / fill_width_p) + 2)) + 1 : (((block_width_p / fill_width_p) + 2) - (fill_width_p + ((block_width_p / fill_width_p) + 1))) + 1)] = fsm_rev_data_li; + data_mem_pkt_cast_o[(block_width_p / fill_width_p) + 1-:(((block_width_p / fill_width_p) + 1) >= 2 ? (block_width_p / fill_width_p) + 0 : 3 - ((block_width_p / fill_width_p) + 1))] = 1'b1 << fill_index_shift; + data_mem_pkt_v_o = load_resp_v_li; + load_resp_yumi_lo = (~fsm_rev_new_li | tag_mem_pkt_yumi_i) && data_mem_pkt_yumi_i; + cache_req_critical_o = load_resp_v_li & fsm_rev_critical_li; + cache_req_last_o = load_resp_v_li & fsm_rev_last_li; + cache_req_done = cache_req_last_o & load_resp_yumi_lo; + state_n = (cache_req_done ? 5'd10 : 5'd18); + end + 5'd19: begin + data_mem_pkt_cast_o[1-:2] = 2'd2; + data_mem_pkt_cast_o[fill_width_p + ((block_width_p / fill_width_p) + 1)-:((fill_width_p + ((block_width_p / fill_width_p) + 1)) >= ((block_width_p / fill_width_p) + 2) ? ((fill_width_p + ((block_width_p / fill_width_p) + 1)) - ((block_width_p / fill_width_p) + 2)) + 1 : (((block_width_p / fill_width_p) + 2) - (fill_width_p + ((block_width_p / fill_width_p) + 1))) + 1)] = {fill_width_p / bp_common_pkg_dword_width_gp {fsm_rev_data_li[0+:bp_common_pkg_dword_width_gp]}}; + data_mem_pkt_v_o = load_resp_v_li; + load_resp_yumi_lo = data_mem_pkt_yumi_i; + cache_req_critical_o = load_resp_v_li & fsm_rev_critical_li; + cache_req_last_o = load_resp_v_li & fsm_rev_last_li; + cache_req_done = cache_req_last_o & load_resp_yumi_lo; + state_n = (cache_req_done ? 5'd10 : 5'd19); + end + default: state_n = 5'd0; + endcase + if (is_ready & nonblocking_v_r) begin + fsm_fwd_header_lo[3-:4] = 4'b0001; + fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = cache_req_r[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = sv2v_cast_3(cache_req_r[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) : (((3 + (paddr_width_p + 8)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)) - 1)-:((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) >= (lce_id_width_p + (did_width_p + 3)) ? ((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2))) - (lce_id_width_p + (did_width_p + 3))) + 1 : ((lce_id_width_p + (did_width_p + 3)) - (((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + (lce_id_width_p + (did_width_p + 2)))) + 1)] = sv2v_cast_E1B99(cache_req_metadata[((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0-:((((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0) >= 1 ? ((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0 : 2 - (((assoc_p == 1) || (assoc_p == 0) ? 1 : $clog2(assoc_p)) + 0))]); + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)] = lce_id_i; + fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = did_i; + fsm_fwd_header_lo[7-:4] = (wt_store_v_r ? 4'b0000 : mem_wr_subop); + fsm_fwd_data_lo = {fill_width_p / bp_common_pkg_dword_width_gp {cache_req_r[data_width_p + (3 + (paddr_width_p + 7))-:((data_width_p + (3 + (paddr_width_p + 7))) >= (3 + (paddr_width_p + 8)) ? ((data_width_p + (3 + (paddr_width_p + 7))) - (3 + (paddr_width_p + 8))) + 1 : ((3 + (paddr_width_p + 8)) - (data_width_p + (3 + (paddr_width_p + 7)))) + 1)]}}; + fsm_fwd_v_lo = fsm_fwd_ready_then_li & ~cache_req_credits_full_o; + cache_req_done = fsm_fwd_v_lo & fsm_fwd_last_lo; + end + end + always @(posedge clk_i) + if (reset_i) + state_r <= 5'd0; + else + state_r <= state_n; + always @(negedge clk_i) + ; + initial _sv2v_0 = 0; +endmodule +module bp_me_addr_to_cce_id ( + paddr_i, + cce_id_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input [paddr_width_p - 1:0] paddr_i; + output reg [cce_id_width_p - 1:0] cce_id_o; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + wire [((paddr_width_p - daddr_width_p) + daddr_width_p) - 1:0] global_addr_li; + wire [((((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + bp_common_pkg_tile_id_width_gp) + bp_common_pkg_dev_id_width_gp) + bp_common_pkg_dev_addr_width_gp) - 1:0] local_addr_li; + assign global_addr_li = paddr_i; + assign local_addr_li = paddr_i; + localparam max_cc_cce_lp = num_core_p; + localparam max_mc_cce_lp = max_cc_cce_lp + num_l2e_p; + localparam max_cac_cce_lp = max_mc_cce_lp + num_cacc_p; + localparam max_sac_cce_lp = max_cac_cce_lp + num_sacc_p; + localparam max_ioc_cce_lp = max_sac_cce_lp + num_io_p; + wire external_io_v_li = global_addr_li[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)] > 2'd1; + localparam bp_common_pkg_dram_base_addr_gp = 40'h0080000000; + wire local_addr_v_li = paddr_i < bp_common_pkg_dram_base_addr_gp; + wire dram_addr_v_li = (paddr_i >= bp_common_pkg_dram_base_addr_gp) && ~|paddr_i[paddr_width_p - 1:daddr_width_p]; + localparam block_offset_lp = (((bedrock_block_width_p / 8) == 1) || ((bedrock_block_width_p / 8) == 0) ? 1 : $clog2(bedrock_block_width_p / 8)); + localparam lg_num_cce_lp = ((num_cce_p == 1) || (num_cce_p == 0) ? 1 : $clog2(num_cce_p)); + wire [lce_sets_width_p - 1:0] hash_addr_li; + wire [lg_num_cce_lp - 1:0] cce_dst_id_lo; + function automatic [lce_sets_width_p - 1:0] _sv2v_strm_44222; + input reg [(0 + ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) >= (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) ? ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) - (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) - (0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1)) + 1)) - 1:0] inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) >= (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) ? ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) - (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) - (0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_inp; + reg [(0 + ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) >= (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) ? ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) - (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) - (0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1)) + 1)) - 1:0] _sv2v_strm_BEEC1_out; + integer _sv2v_strm_BEEC1_idx; + begin + _sv2v_strm_BEEC1_inp = {inp}; + for (_sv2v_strm_BEEC1_idx = 0; _sv2v_strm_BEEC1_idx <= ((0 + ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) >= (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) ? ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) - (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) - (0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1)) + 1)) - 1); _sv2v_strm_BEEC1_idx = _sv2v_strm_BEEC1_idx + 1) + _sv2v_strm_BEEC1_out[((0 + ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) >= (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) ? ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) - (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) - (0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1)) + 1)) - 1) - _sv2v_strm_BEEC1_idx-:1] = _sv2v_strm_BEEC1_inp[_sv2v_strm_BEEC1_idx+:1]; + _sv2v_strm_44222 = ((0 + ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) >= (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) ? ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) - (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) - (0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1)) + 1)) <= lce_sets_width_p ? _sv2v_strm_BEEC1_out << (lce_sets_width_p - (0 + ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) >= (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) ? ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) - (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) - (0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1)) + 1))) : _sv2v_strm_BEEC1_out >> ((0 + ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) >= (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) ? ((0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1) - (0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp)) + 1 : ((0 >= (paddr_width_p - 1) ? (block_offset_lp + lce_sets_width_p) - 1 : block_offset_lp) - (0 >= (paddr_width_p - 1) ? block_offset_lp : (block_offset_lp + lce_sets_width_p) - 1)) + 1)) - lce_sets_width_p)); + end + endfunction + assign hash_addr_li = _sv2v_strm_44222({paddr_i[block_offset_lp+:lce_sets_width_p]}); + bsg_hash_bank #( + .banks_p(num_cce_p), + .width_p(lce_sets_width_p) + ) addr_to_cce_id( + .i(hash_addr_li), + .bank_o(cce_dst_id_lo), + .index_o() + ); + localparam bp_common_pkg_clint_dev_gp = 3; + localparam bp_common_pkg_host_dev_gp = 1; + always @(*) begin + if (_sv2v_0) + ; + cce_id_o = 1'sb0; + if (local_addr_v_li && (local_addr_li[23-:4] == bp_common_pkg_clint_dev_gp)) + cce_id_o = (num_core_p > 1 ? local_addr_li[3+:core_id_width_p] : {cce_id_width_p {1'sb0}}); + if (external_io_v_li || (local_addr_v_li && (local_addr_li[23-:4] == bp_common_pkg_host_dev_gp))) + cce_id_o = (num_io_p > 1 ? max_sac_cce_lp + paddr_i[bp_common_pkg_page_offset_width_gp+:(num_io_p > 1 ? ((num_io_p == 1) || (num_io_p == 0) ? 1 : $clog2(num_io_p)) : 1)] : max_sac_cce_lp); + else if (local_addr_v_li) + cce_id_o = local_addr_li[30-:7]; + else if (dram_addr_v_li) + cce_id_o[0+:lg_num_cce_lp] = cce_dst_id_lo; + else + cce_id_o = (num_sacc_p > 1 ? max_cac_cce_lp + paddr_i[(paddr_width_p - hio_width_p) - 1-:(num_sacc_p > 1 ? ((num_sacc_p == 1) || (num_sacc_p == 0) ? 1 : $clog2(num_sacc_p)) : 1)] : max_cac_cce_lp); + end + initial _sv2v_0 = 0; +endmodule +module bp_me_cce_id_to_cord ( + cce_id_i, + cce_cord_o, + cce_cid_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input [cce_id_width_p - 1:0] cce_id_i; + output reg [coh_noc_cord_width_p - 1:0] cce_cord_o; + output reg [coh_noc_cid_width_p - 1:0] cce_cid_o; + localparam max_cc_cce_lp = num_core_p; + localparam max_mc_cce_lp = max_cc_cce_lp + num_l2e_p; + localparam max_cac_cce_lp = max_mc_cce_lp + num_cacc_p; + localparam max_sac_cce_lp = max_cac_cce_lp + num_sacc_p; + localparam max_ioc_cce_lp = max_sac_cce_lp + num_io_p; + always @(*) begin + if (_sv2v_0) + ; + if (cce_id_i < max_cc_cce_lp) begin + cce_cord_o[0+:coh_noc_x_cord_width_p] = sac_x_dim_p + (cce_id_i % cc_x_dim_p); + cce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = ic_y_dim_p + (cce_id_i / cc_x_dim_p); + cce_cid_o = 1'sb0; + end + else if (cce_id_i < max_mc_cce_lp) begin + cce_cord_o[0+:coh_noc_x_cord_width_p] = sac_x_dim_p + (cce_id_i % cc_x_dim_p); + cce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = ic_y_dim_p + cc_y_dim_p; + cce_cid_o = 1'sb0; + end + else if (cce_id_i < max_cac_cce_lp) begin + cce_cord_o[0+:coh_noc_x_cord_width_p] = sac_x_dim_p + cc_x_dim_p; + cce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = ic_y_dim_p + (cce_id_i % cc_y_dim_p); + cce_cid_o = 1'sb0; + end + else if (cce_id_i < max_sac_cce_lp) begin + cce_cord_o[0+:coh_noc_x_cord_width_p] = 1'sb0; + cce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = ic_y_dim_p + (cce_id_i % cc_y_dim_p); + cce_cid_o = 1'sb0; + end + else begin + cce_cord_o[0+:coh_noc_x_cord_width_p] = sac_x_dim_p + (cce_id_i % cc_x_dim_p); + cce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = 1'sb0; + cce_cid_o = 1'sb0; + end + end + initial _sv2v_0 = 0; +endmodule +module bp_me_cord_to_id ( + cord_i, + core_id_o, + cce_id_o, + lce_id0_o, + lce_id1_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input [coh_noc_cord_width_p - 1:0] cord_i; + output wire [core_id_width_p - 1:0] core_id_o; + output reg [cce_id_width_p - 1:0] cce_id_o; + output reg [lce_id_width_p - 1:0] lce_id0_o; + output reg [lce_id_width_p - 1:0] lce_id1_o; + wire [coh_noc_x_cord_width_p - 1:0] xcord_li = cord_i[0+:coh_noc_x_cord_width_p]; + wire [coh_noc_y_cord_width_p - 1:0] ycord_li = cord_i[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p]; + localparam max_cc_cce_lp = num_core_p; + localparam max_mc_cce_lp = max_cc_cce_lp + num_l2e_p; + localparam max_cac_cce_lp = max_mc_cce_lp + num_cacc_p; + localparam max_sac_cce_lp = max_cac_cce_lp + num_sacc_p; + localparam max_ic_cce_lp = max_sac_cce_lp + num_io_p; + localparam max_cc_lce_lp = num_core_p * 2; + localparam max_cac_lce_lp = max_cc_lce_lp + num_cacc_p; + localparam max_mc_lce_lp = max_cac_lce_lp + num_l2e_p; + localparam max_sac_lce_lp = max_mc_lce_lp + num_sacc_p; + localparam max_ic_lce_lp = max_sac_lce_lp + num_io_p; + wire cord_in_cc_li = (((xcord_li >= sac_x_dim_p) & (xcord_li < (sac_x_dim_p + cc_x_dim_p))) & (ycord_li >= ic_y_dim_p)) & (ycord_li < (ic_y_dim_p + cc_y_dim_p)); + wire cord_in_mc_li = ycord_li >= (ic_y_dim_p + cc_y_dim_p); + wire cord_in_cac_li = xcord_li >= (cc_x_dim_p + sac_x_dim_p); + wire cord_in_sac_li = xcord_li < sac_x_dim_p; + wire cord_in_io_li = ycord_li < ic_y_dim_p; + assign core_id_o = cce_id_o[0+:core_id_width_p]; + always @(*) begin + if (_sv2v_0) + ; + if (cce_type_p == 2'd0) begin + cce_id_o = 1'b0; + lce_id0_o = 1'b0; + lce_id1_o = 1'b1; + end + else if (cord_in_cc_li) begin + cce_id_o = (xcord_li - sac_x_dim_p) + (cc_x_dim_p * (ycord_li - ic_y_dim_p)); + lce_id0_o = (cce_id_o << 1'b1) + 1'b0; + lce_id1_o = (cce_id_o << 1'b1) + 1'b1; + end + else if (cord_in_mc_li) begin + cce_id_o = max_cc_cce_lp + (xcord_li - sac_x_dim_p); + lce_id0_o = max_cac_lce_lp + (xcord_li - sac_x_dim_p); + lce_id1_o = 1'sbx; + end + else if (cord_in_cac_li) begin + cce_id_o = max_mc_cce_lp + (ycord_li - ic_y_dim_p); + lce_id0_o = max_cc_lce_lp + (ycord_li - ic_y_dim_p); + lce_id1_o = 1'sbx; + end + else if (cord_in_sac_li) begin + cce_id_o = max_cac_cce_lp + (ycord_li - ic_y_dim_p); + lce_id0_o = max_mc_lce_lp + (ycord_li - ic_y_dim_p); + lce_id1_o = 1'sbx; + end + else begin + cce_id_o = max_sac_cce_lp + (xcord_li - sac_x_dim_p); + lce_id0_o = max_sac_lce_lp + (xcord_li - sac_x_dim_p); + lce_id1_o = 1'sbx; + end + end + initial _sv2v_0 = 0; +endmodule +module bp_me_lce_id_to_cord ( + lce_id_i, + lce_cord_o, + lce_cid_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + input [lce_id_width_p - 1:0] lce_id_i; + output reg [coh_noc_cord_width_p - 1:0] lce_cord_o; + output reg [coh_noc_cid_width_p - 1:0] lce_cid_o; + localparam max_cc_lce_lp = num_core_p * 2; + localparam max_cac_lce_lp = max_cc_lce_lp + num_cacc_p; + localparam max_mc_lce_lp = max_cac_lce_lp + num_l2e_p; + localparam max_sac_lce_lp = max_mc_lce_lp + num_sacc_p; + localparam max_ic_lce_lp = max_sac_lce_lp + num_io_p; + always @(*) begin + if (_sv2v_0) + ; + if (lce_id_i < max_cc_lce_lp) begin + lce_cord_o[0+:coh_noc_x_cord_width_p] = sac_x_dim_p + ((lce_id_i >> 1'b1) % cc_x_dim_p); + lce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = ic_y_dim_p + ((lce_id_i >> 1'b1) / cc_x_dim_p); + lce_cid_o = lce_id_i[0]; + end + else if (lce_id_i < max_cac_lce_lp) begin + lce_cord_o[0+:coh_noc_x_cord_width_p] = sac_x_dim_p + cc_x_dim_p; + lce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = ic_y_dim_p + (lce_id_i % cc_y_dim_p); + lce_cid_o = 1'sb0; + end + else if (lce_id_i < max_sac_lce_lp) begin + lce_cord_o[0+:coh_noc_x_cord_width_p] = 1'sb0; + lce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = ic_y_dim_p + (lce_id_i % cc_y_dim_p); + lce_cid_o = 1'sb0; + end + else if (lce_id_i < max_mc_lce_lp) begin + lce_cord_o[0+:coh_noc_x_cord_width_p] = sac_x_dim_p + (lce_id_i % cc_x_dim_p); + lce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = (ic_y_dim_p + cc_y_dim_p) + 1'b1; + lce_cid_o = 1'sb0; + end + else begin + lce_cord_o[0+:coh_noc_x_cord_width_p] = sac_x_dim_p + ((lce_id_i - max_sac_lce_lp) % ic_x_dim_p); + lce_cord_o[coh_noc_x_cord_width_p+:coh_noc_y_cord_width_p] = 1'sb0; + lce_cid_o = 1'sb0; + end + end + initial _sv2v_0 = 0; +endmodule +module bp_me_stream_pump ( + clk_i, + reset_i, + in_msg_header_i, + in_msg_data_i, + in_msg_v_i, + in_msg_ready_and_o, + in_fsm_header_o, + in_fsm_data_o, + in_fsm_v_o, + in_fsm_yumi_i, + in_fsm_metadata_i, + in_fsm_addr_o, + in_fsm_new_o, + in_fsm_critical_o, + in_fsm_last_o, + out_msg_header_o, + out_msg_data_o, + out_msg_v_o, + out_msg_ready_and_i, + out_fsm_header_i, + out_fsm_data_i, + out_fsm_v_i, + out_fsm_ready_then_o, + out_fsm_metadata_o, + out_fsm_addr_o, + out_fsm_new_o, + out_fsm_last_o, + out_fsm_critical_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter in_data_width_p = 0; + parameter in_payload_width_p = 0; + parameter in_msg_stream_mask_p = 0; + parameter in_fsm_stream_mask_p = 0; + parameter out_data_width_p = 0; + parameter out_payload_width_p = 0; + parameter out_msg_stream_mask_p = 0; + parameter out_fsm_stream_mask_p = 0; + parameter metadata_fifo_width_p = 0; + parameter metadata_fifo_els_p = 0; + localparam in_msg_payload_width_lp = in_payload_width_p; + localparam in_header_width_lp = ((8 + paddr_width_p) + 3) + in_msg_payload_width_lp; + localparam out_msg_payload_width_lp = out_payload_width_p; + localparam out_header_width_lp = ((8 + paddr_width_p) + 3) + out_msg_payload_width_lp; + input clk_i; + input reset_i; + input [in_header_width_lp - 1:0] in_msg_header_i; + input [bedrock_fill_width_p - 1:0] in_msg_data_i; + input in_msg_v_i; + output wire in_msg_ready_and_o; + output wire [in_header_width_lp - 1:0] in_fsm_header_o; + output wire [in_data_width_p - 1:0] in_fsm_data_o; + output wire in_fsm_v_o; + input in_fsm_yumi_i; + input [metadata_fifo_width_p - 1:0] in_fsm_metadata_i; + output wire [paddr_width_p - 1:0] in_fsm_addr_o; + output wire in_fsm_new_o; + output wire in_fsm_critical_o; + output wire in_fsm_last_o; + output wire [out_header_width_lp - 1:0] out_msg_header_o; + output wire [bedrock_fill_width_p - 1:0] out_msg_data_o; + output wire out_msg_v_o; + input out_msg_ready_and_i; + input [out_header_width_lp - 1:0] out_fsm_header_i; + input [out_data_width_p - 1:0] out_fsm_data_i; + input out_fsm_v_i; + output wire out_fsm_ready_then_o; + output wire [metadata_fifo_width_p - 1:0] out_fsm_metadata_o; + output wire [paddr_width_p - 1:0] out_fsm_addr_o; + output wire out_fsm_new_o; + output wire out_fsm_last_o; + output wire out_fsm_critical_o; + wire in_fsm_v_lo; + wire in_fsm_yumi_li; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(in_data_width_p), + .payload_width_p(in_payload_width_p), + .msg_stream_mask_p(in_msg_stream_mask_p), + .fsm_stream_mask_p(in_fsm_stream_mask_p) + ) in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(in_msg_header_i), + .msg_data_i(in_msg_data_i), + .msg_v_i(in_msg_v_i), + .msg_ready_and_o(in_msg_ready_and_o), + .fsm_header_o(in_fsm_header_o), + .fsm_data_o(in_fsm_data_o), + .fsm_v_o(in_fsm_v_lo), + .fsm_yumi_i(in_fsm_yumi_li), + .fsm_addr_o(in_fsm_addr_o), + .fsm_new_o(in_fsm_new_o), + .fsm_critical_o(in_fsm_critical_o), + .fsm_last_o(in_fsm_last_o) + ); + wire out_fsm_ready_then_lo; + wire out_fsm_v_li; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(out_data_width_p), + .payload_width_p(out_payload_width_p), + .msg_stream_mask_p(out_msg_stream_mask_p), + .fsm_stream_mask_p(out_fsm_stream_mask_p) + ) out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(out_msg_header_o), + .msg_data_o(out_msg_data_o), + .msg_v_o(out_msg_v_o), + .msg_ready_and_i(out_msg_ready_and_i), + .fsm_header_i(out_fsm_header_i), + .fsm_data_i(out_fsm_data_i), + .fsm_v_i(out_fsm_v_li), + .fsm_ready_then_o(out_fsm_ready_then_lo), + .fsm_addr_o(out_fsm_addr_o), + .fsm_new_o(out_fsm_new_o), + .fsm_critical_o(out_fsm_critical_o), + .fsm_last_o(out_fsm_last_o) + ); + wire [metadata_fifo_width_p - 1:0] stream_fifo_data_li; + wire stream_fifo_ready_then_lo; + wire stream_fifo_v_li; + wire [metadata_fifo_width_p - 1:0] stream_fifo_data_lo; + wire stream_fifo_v_lo; + wire stream_fifo_yumi_li; + bsg_fifo_1r1w_small #( + .width_p(metadata_fifo_width_p), + .els_p(metadata_fifo_els_p), + .ready_THEN_valid_p(1) + ) stream_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(stream_fifo_data_li), + .v_i(stream_fifo_v_li), + .ready_param_o(stream_fifo_ready_then_lo), + .data_o(stream_fifo_data_lo), + .v_o(stream_fifo_v_lo), + .yumi_i(stream_fifo_yumi_li) + ); + assign in_fsm_v_o = in_fsm_v_lo & stream_fifo_ready_then_lo; + assign in_fsm_yumi_li = in_fsm_yumi_i; + assign stream_fifo_data_li = in_fsm_metadata_i; + assign stream_fifo_v_li = in_fsm_yumi_i & in_fsm_new_o; + assign out_fsm_metadata_o = stream_fifo_data_lo; + assign out_fsm_ready_then_o = out_fsm_ready_then_lo & stream_fifo_v_lo; + assign out_fsm_v_li = out_fsm_v_i; + assign stream_fifo_yumi_li = out_fsm_v_i & out_fsm_last_o; +endmodule +module bp_me_stream_pump_in ( + clk_i, + reset_i, + msg_header_i, + msg_data_i, + msg_v_i, + msg_ready_and_o, + fsm_header_o, + fsm_data_o, + fsm_v_o, + fsm_yumi_i, + fsm_addr_o, + fsm_new_o, + fsm_critical_o, + fsm_last_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter data_width_p = 0; + parameter payload_width_p = 0; + parameter msg_stream_mask_p = 0; + parameter fsm_stream_mask_p = 0; + localparam xce_msg_payload_width_lp = payload_width_p; + localparam xce_header_width_lp = ((8 + paddr_width_p) + 3) + xce_msg_payload_width_lp; + input clk_i; + input reset_i; + input [xce_header_width_lp - 1:0] msg_header_i; + input [bedrock_fill_width_p - 1:0] msg_data_i; + input msg_v_i; + output wire msg_ready_and_o; + output wire [xce_header_width_lp - 1:0] fsm_header_o; + output wire [data_width_p - 1:0] fsm_data_o; + output reg fsm_v_o; + input fsm_yumi_i; + output wire [paddr_width_p - 1:0] fsm_addr_o; + output wire fsm_new_o; + output wire fsm_critical_o; + output wire fsm_last_o; + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] msg_header_cast_i; + assign msg_header_cast_i = msg_header_i; + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] fsm_header_cast_o; + assign fsm_header_o = fsm_header_cast_o; + localparam fsm_bytes_lp = data_width_p >> 3; + localparam fsm_words_lp = bedrock_block_width_p / data_width_p; + localparam fsm_cnt_width_lp = ((fsm_words_lp == 1) || (fsm_words_lp == 0) ? 1 : $clog2(fsm_words_lp)); + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] msg_header_li; + wire [data_width_p - 1:0] msg_data_li; + wire msg_v_li; + reg msg_yumi_lo; + bp_me_stream_gearbox #( + .bp_params_p(bp_params_p), + .in_data_width_p(bedrock_fill_width_p), + .out_data_width_p(data_width_p), + .payload_width_p(payload_width_p), + .stream_mask_p(msg_stream_mask_p) + ) gearbox( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(msg_header_cast_i), + .msg_data_i(msg_data_i), + .msg_v_i(msg_v_i), + .msg_ready_and_o(msg_ready_and_o), + .msg_header_o(msg_header_li), + .msg_data_o(msg_data_li), + .msg_v_o(msg_v_li), + .msg_ready_param_i(msg_yumi_lo) + ); + wire [fsm_cnt_width_lp - 1:0] stream_size = (((1'b1 << msg_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) / fsm_bytes_lp) > 1'b1 ? (1'b1 << msg_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) / fsm_bytes_lp : 1'b1) - 1'b1; + wire nz_stream = stream_size > {fsm_cnt_width_lp {1'sb0}}; + wire fsm_stream = fsm_stream_mask_p[msg_header_li[3-:4]]; + wire msg_stream = msg_stream_mask_p[msg_header_li[3-:4]]; + localparam widest_beat_width_lp = (icache_fill_width_p > (dcache_fill_width_p > bedrock_fill_width_p ? dcache_fill_width_p : bedrock_fill_width_p) ? icache_fill_width_p : (dcache_fill_width_p > bedrock_fill_width_p ? dcache_fill_width_p : bedrock_fill_width_p)); + localparam widest_beat_size_lp = ((widest_beat_width_lp == 1) || (widest_beat_width_lp == 0) ? 1 : $clog2(widest_beat_width_lp)) - 1; + reg cnt_up; + bp_me_stream_pump_control #( + .bp_params_p(bp_params_p), + .stream_mask_p(fsm_stream_mask_p), + .data_width_p(data_width_p), + .payload_width_p(payload_width_p), + .widest_beat_size_p(widest_beat_size_lp) + ) pump_control( + .clk_i(clk_i), + .reset_i(reset_i), + .header_i(fsm_header_cast_o), + .ack_i(cnt_up), + .addr_o(fsm_addr_o), + .first_o(fsm_new_o), + .last_o(fsm_last_o), + .critical_o(fsm_critical_o) + ); + assign fsm_header_cast_o = msg_header_li; + assign fsm_data_o = msg_data_li; + always @(*) begin + if (_sv2v_0) + ; + if ((~msg_stream & fsm_stream) & nz_stream) begin + fsm_v_o = msg_v_li; + msg_yumi_lo = fsm_last_o & fsm_yumi_i; + cnt_up = fsm_yumi_i; + end + else begin + fsm_v_o = msg_v_li; + msg_yumi_lo = fsm_yumi_i; + cnt_up = fsm_yumi_i; + end + end + generate + if ((bedrock_block_width_p % data_width_p) != 0) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/network/bp_me_stream_pump_in.sv:157:5 - bp_me_stream_pump_in.genblk1\n msg: ", "bedrock_block_width_p must be evenly divisible by data_width_p"); + end + if (bedrock_block_width_p < data_width_p) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/network/bp_me_stream_pump_in.sv:159:5 - bp_me_stream_pump_in.genblk2\n msg: ", "bedrock_block_width_p must be at least as large as data_width_p"); + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bp_me_stream_pump_out ( + clk_i, + reset_i, + msg_header_o, + msg_data_o, + msg_v_o, + msg_ready_and_i, + fsm_header_i, + fsm_data_i, + fsm_v_i, + fsm_ready_then_o, + fsm_addr_o, + fsm_new_o, + fsm_last_o, + fsm_critical_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter data_width_p = 0; + parameter payload_width_p = 0; + parameter msg_stream_mask_p = 0; + parameter fsm_stream_mask_p = 0; + localparam xce_msg_payload_width_lp = payload_width_p; + localparam xce_header_width_lp = ((8 + paddr_width_p) + 3) + xce_msg_payload_width_lp; + input clk_i; + input reset_i; + output wire [xce_header_width_lp - 1:0] msg_header_o; + output wire [bedrock_fill_width_p - 1:0] msg_data_o; + output wire msg_v_o; + input msg_ready_and_i; + input [xce_header_width_lp - 1:0] fsm_header_i; + input [data_width_p - 1:0] fsm_data_i; + input fsm_v_i; + output reg fsm_ready_then_o; + output wire [paddr_width_p - 1:0] fsm_addr_o; + output wire fsm_new_o; + output wire fsm_last_o; + output wire fsm_critical_o; + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] fsm_header_cast_i; + assign fsm_header_cast_i = fsm_header_i; + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] msg_header_cast_o; + assign msg_header_o = msg_header_cast_o; + localparam fsm_bytes_lp = data_width_p >> 3; + localparam fsm_words_lp = bedrock_block_width_p / data_width_p; + localparam fsm_cnt_width_lp = ((fsm_words_lp == 1) || (fsm_words_lp == 0) ? 1 : $clog2(fsm_words_lp)); + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] msg_header_lo; + wire [data_width_p - 1:0] msg_data_lo; + reg msg_v_lo; + wire msg_ready_and_li; + bp_me_stream_gearbox #( + .bp_params_p(bp_params_p), + .in_data_width_p(data_width_p), + .out_data_width_p(bedrock_fill_width_p), + .payload_width_p(payload_width_p), + .stream_mask_p(msg_stream_mask_p) + ) gearbox( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(msg_header_lo), + .msg_data_i(msg_data_lo), + .msg_v_i(msg_v_lo), + .msg_ready_and_o(msg_ready_and_li), + .msg_header_o(msg_header_cast_o), + .msg_data_o(msg_data_o), + .msg_v_o(msg_v_o), + .msg_ready_param_i(msg_ready_and_i) + ); + wire [fsm_cnt_width_lp - 1:0] stream_size = (((1'b1 << fsm_header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) / fsm_bytes_lp) > 1'b1 ? (1'b1 << fsm_header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) / fsm_bytes_lp : 1'b1) - 1'b1; + wire nz_stream = stream_size > {fsm_cnt_width_lp {1'sb0}}; + wire fsm_stream = fsm_stream_mask_p[fsm_header_cast_i[3-:4]]; + wire msg_stream = msg_stream_mask_p[fsm_header_cast_i[3-:4]]; + localparam widest_beat_width_lp = (icache_fill_width_p > (dcache_fill_width_p > bedrock_fill_width_p ? dcache_fill_width_p : bedrock_fill_width_p) ? icache_fill_width_p : (dcache_fill_width_p > bedrock_fill_width_p ? dcache_fill_width_p : bedrock_fill_width_p)); + localparam widest_beat_size_lp = ((widest_beat_width_lp == 1) || (widest_beat_width_lp == 0) ? 1 : $clog2(widest_beat_width_lp)) - 1; + reg cnt_up; + bp_me_stream_pump_control #( + .bp_params_p(bp_params_p), + .stream_mask_p(fsm_stream_mask_p), + .data_width_p(data_width_p), + .payload_width_p(payload_width_p), + .widest_beat_size_p(widest_beat_size_lp) + ) pump_control( + .clk_i(clk_i), + .reset_i(reset_i), + .header_i(fsm_header_cast_i), + .ack_i(cnt_up), + .addr_o(fsm_addr_o), + .first_o(fsm_new_o), + .last_o(fsm_last_o), + .critical_o(fsm_critical_o) + ); + assign msg_header_lo = fsm_header_cast_i; + assign msg_data_lo = fsm_data_i; + always @(*) begin + if (_sv2v_0) + ; + if ((fsm_stream & ~msg_stream) & nz_stream) begin + fsm_ready_then_o = msg_ready_and_li; + msg_v_lo = fsm_v_i & fsm_new_o; + cnt_up = fsm_v_i; + end + else begin + fsm_ready_then_o = msg_ready_and_li; + msg_v_lo = fsm_v_i; + cnt_up = msg_v_lo; + end + end + generate + if ((bedrock_block_width_p % data_width_p) != 0) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/network/bp_me_stream_pump_out.sv:157:5 - bp_me_stream_pump_out.genblk1\n msg: ", "bedrock_block_width_p must be evenly divisible by data_width_p"); + end + if (bedrock_block_width_p < data_width_p) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/network/bp_me_stream_pump_out.sv:159:5 - bp_me_stream_pump_out.genblk2\n msg: ", "bedrock_block_width_p must be at least as large as data_width_p"); + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bp_me_stream_pump_control ( + clk_i, + reset_i, + header_i, + ack_i, + addr_o, + first_o, + critical_o, + last_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter payload_width_p = 0; + parameter data_width_p = 0; + parameter stream_mask_p = 0; + parameter widest_beat_size_p = 0; + localparam xce_msg_payload_width_lp = payload_width_p; + localparam xce_header_width_lp = ((8 + paddr_width_p) + 3) + xce_msg_payload_width_lp; + input clk_i; + input reset_i; + input [xce_header_width_lp - 1:0] header_i; + input ack_i; + output wire [paddr_width_p - 1:0] addr_o; + output wire first_o; + output wire critical_o; + output wire last_o; + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] header_cast_i; + assign header_cast_i = header_i; + localparam bytes_lp = data_width_p >> 3; + localparam width_lp = (((bedrock_block_width_p / data_width_p) == 1) || ((bedrock_block_width_p / data_width_p) == 0) ? 1 : $clog2(bedrock_block_width_p / data_width_p)); + localparam offset_width_lp = ((bytes_lp == 1) || (bytes_lp == 0) ? 1 : $clog2(bytes_lp)); + wire [2:0] beat_size = ((bytes_lp == 1) || (bytes_lp == 0) ? 1 : $clog2(bytes_lp)); + generate + if (bedrock_block_width_p == data_width_p) begin : z + assign addr_o = header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + assign first_o = 1'b1; + assign critical_o = 1'b1; + assign last_o = 1'b1; + end + else begin : nz + reg state_n; + reg state_r; + wire is_ready = state_r == 1'd0; + wire is_stream = state_r == 1'd1; + wire [width_lp - 1:0] stream_size = (((1'b1 << header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) / bytes_lp) > 1'b1 ? (1'b1 << header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) / bytes_lp : 1'b1) - 1'b1; + wire stream = stream_mask_p[header_cast_i[3-:4]]; + wire [width_lp - 1:0] size_li = (stream ? stream_size : {width_lp {1'sb0}}); + wire [paddr_width_p - 1:0] req_mask = ~((1'b1 << header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) - 1'b1); + wire [paddr_width_p - 1:0] max_mask = ~((1'b1 << widest_beat_size_p) - 1'b1); + wire [paddr_width_p - 1:0] addr_mask = (req_mask > max_mask ? req_mask : max_mask); + wire [paddr_width_p - 1:0] beat_mask = ~((1'b1 << beat_size) - 1'b1); + wire [paddr_width_p - 1:0] final_mask = (addr_mask > beat_mask ? addr_mask : beat_mask); + wire [paddr_width_p - 1:0] base_addr = header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] & addr_mask; + wire [paddr_width_p - 1:0] critical_addr = header_cast_i[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] & beat_mask; + wire [width_lp - 1:0] first_cnt = base_addr[offset_width_lp+:width_lp]; + wire [width_lp - 1:0] critical_cnt = critical_addr[offset_width_lp+:width_lp]; + wire [width_lp - 1:0] last_cnt = first_cnt + size_li; + wire [width_lp - 1:0] cnt_r; + wire [width_lp - 1:0] cnt_val_li = first_cnt + ack_i; + bsg_counter_set_en #( + .max_val_p((2 ** width_lp) - 1), + .reset_val_p(1'sb0) + ) counter( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(is_ready), + .en_i(ack_i), + .val_i(cnt_val_li), + .count_o(cnt_r) + ); + wire [width_lp - 1:0] cnt_lo = (is_ready ? first_cnt : cnt_r); + assign first_o = is_ready; + assign critical_o = critical_cnt == cnt_lo; + assign last_o = last_cnt == cnt_lo; + wire [width_lp - 1:0] wrap_sel_li; + genvar _gv_i_68; + for (_gv_i_68 = 0; _gv_i_68 < width_lp; _gv_i_68 = _gv_i_68 + 1) begin : cnt_sel + localparam i = _gv_i_68; + assign wrap_sel_li[i] = size_li >= (2 ** i); + end + wire [width_lp - 1:0] wrap_lo; + bsg_mux_bitwise #(.width_p(width_lp)) wrap_mux( + .data0_i(first_cnt), + .data1_i(cnt_lo), + .sel_i(wrap_sel_li), + .data_o(wrap_lo) + ); + localparam block_offset_width_lp = (((bedrock_block_width_p >> 3) == 1) || ((bedrock_block_width_p >> 3) == 0) ? 1 : $clog2(bedrock_block_width_p >> 3)); + wire [(width_lp < 1 ? 0 : width_lp - 1):0] wrap_cnt = (is_ready ? first_cnt : wrap_lo); + wire [paddr_width_p - 1:block_offset_width_lp] high_bits = header_cast_i[(paddr_width_p + 7) - ((paddr_width_p - 1) - (paddr_width_p - 1)):(paddr_width_p + 7) - ((paddr_width_p - 1) - block_offset_width_lp)]; + wire [offset_width_lp - 1:0] low_bits = header_cast_i[(paddr_width_p + 7) - (paddr_width_p - 1)+:offset_width_lp]; + assign addr_o = {high_bits, {bedrock_block_width_p > data_width_p {wrap_cnt}}, low_bits} & final_mask; + always @(*) begin + if (_sv2v_0) + ; + case (state_r) + 1'd1: state_n = (ack_i & last_o ? 1'd0 : 1'd1); + default: state_n = (ack_i & ~last_o ? 1'd1 : 1'd0); + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 1'd0; + else + state_r <= state_n; + end + endgenerate + initial _sv2v_0 = 0; +endmodule +module bp_me_stream_to_wormhole ( + clk_i, + reset_i, + pr_hdr_i, + pr_data_i, + pr_v_i, + pr_ready_and_o, + dst_cord_i, + dst_cid_i, + link_data_o, + link_v_o, + link_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter flit_width_p = 0; + parameter cord_width_p = 0; + parameter len_width_p = 0; + parameter cid_width_p = 0; + parameter pr_hdr_width_p = 0; + parameter pr_payload_width_p = 0; + parameter pr_stream_mask_p = 0; + parameter pr_data_width_p = 0; + parameter wh_hdr_width_p = ((cord_width_p + len_width_p) + cid_width_p) + pr_hdr_width_p; + parameter wh_pr_hdr_offset_p = (cord_width_p + len_width_p) + cid_width_p; + parameter wh_len_offset_p = cord_width_p; + localparam [len_width_p - 1:0] hdr_len_lp = ((wh_hdr_width_p + flit_width_p) - 1) / flit_width_p; + localparam wh_hdr_pad_lp = (flit_width_p * hdr_len_lp) - wh_hdr_width_p; + input clk_i; + input reset_i; + input [pr_hdr_width_p - 1:0] pr_hdr_i; + input [pr_data_width_p - 1:0] pr_data_i; + input pr_v_i; + output wire pr_ready_and_o; + input [cord_width_p - 1:0] dst_cord_i; + input [cid_width_p - 1:0] dst_cid_i; + output wire [flit_width_p - 1:0] link_data_o; + output wire link_v_o; + input link_ready_and_i; + generate + if (((1 << $clog2(pr_data_width_p)) != pr_data_width_p) || ((1 << $clog2(flit_width_p)) != flit_width_p)) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/network/bp_me_stream_to_wormhole.sv:96:5 - bp_me_stream_to_wormhole.genblk1\n msg: ", "Protocol and Network data width must be powers of 2"); + end + endgenerate + wire [((pr_payload_width_p + 3) + paddr_width_p) + 7:0] pr_hdr_cast_i; + assign pr_hdr_cast_i = pr_hdr_i; + wire is_hdr; + wire is_data; + wire wh_has_data; + wire wh_last_data; + wire [(((flit_width_p - ((((cord_width_p + cid_width_p) + len_width_p) + (1 * ((((0 + pr_payload_width_p) + 3) + paddr_width_p) + 8))) % flit_width_p)) + ((((pr_payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((pr_payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((pr_payload_width_p + 3) + paddr_width_p) + 7))) + ((cid_width_p + len_width_p) + cord_width_p)) - 1:0] pr_wh_hdr_lo; + bp_me_wormhole_header_encode #( + .bp_params_p(bp_params_p), + .flit_width_p(flit_width_p), + .cord_width_p(cord_width_p), + .cid_width_p(cid_width_p), + .len_width_p(len_width_p), + .payload_width_p(pr_payload_width_p), + .stream_mask_p(pr_stream_mask_p) + ) encode( + .header_i(pr_hdr_cast_i), + .dst_cord_i(dst_cord_i), + .dst_cid_i(dst_cid_i), + .wh_header_o(pr_wh_hdr_lo) + ); + wire [(flit_width_p * hdr_len_lp) - 1:0] pr_wh_hdr_padded_li = pr_wh_hdr_lo; + wire piso_ready_and_lo; + wire piso_v_li; + wire [flit_width_p - 1:0] wh_hdr_lo; + wire wh_hdr_ready_and_li; + wire wh_hdr_v_lo; + assign piso_v_li = is_hdr & pr_v_i; + bsg_parallel_in_serial_out_passthrough #( + .width_p(flit_width_p), + .els_p(hdr_len_lp) + ) hdr_piso( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(pr_wh_hdr_padded_li), + .v_i(piso_v_li), + .ready_and_o(piso_ready_and_lo), + .data_o(wh_hdr_lo), + .v_o(wh_hdr_v_lo), + .ready_and_i(wh_hdr_ready_and_li) + ); + assign wh_hdr_ready_and_li = is_hdr & link_ready_and_i; + wire [pr_data_width_p - 1:0] wh_data_r; + bsg_dff_en #(.width_p(pr_data_width_p)) wh_data_reg( + .clk_i(clk_i), + .en_i(pr_ready_and_o & pr_v_i), + .data_i(pr_data_i), + .data_o(wh_data_r) + ); + wire wh_data_v_r; + bsg_dff_reset_set_clear #(.width_p(1)) wh_data_v_reg( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i((pr_ready_and_o & pr_v_i) & wh_has_data), + .clear_i((link_ready_and_i & link_v_o) & is_data), + .data_o(wh_data_v_r) + ); + assign pr_ready_and_o = (is_hdr ? piso_ready_and_lo : ~wh_last_data & link_ready_and_i); + bp_me_wormhole_stream_control #( + .len_width_p(len_width_p), + .hdr_len_p(hdr_len_lp) + ) stream_control( + .clk_i(clk_i), + .reset_i(reset_i), + .len_i(pr_wh_hdr_lo[wh_len_offset_p+:len_width_p]), + .link_accept_i(link_ready_and_i & link_v_o), + .is_hdr_o(is_hdr), + .has_data_o(wh_has_data), + .is_data_o(is_data), + .last_data_o(wh_last_data) + ); + assign link_data_o = (is_hdr ? wh_hdr_lo : wh_data_r); + assign link_v_o = (is_hdr ? wh_hdr_v_lo : wh_data_v_r); + generate + if (flit_width_p != pr_data_width_p) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/network/bp_me_stream_to_wormhole.sv:188:5 - bp_me_stream_to_wormhole.genblk2\n msg: ", "flit_width_p %d != pr_data_width_p %d", flit_width_p, pr_data_width_p); + end + endgenerate +endmodule +module bp_me_wormhole_header_encode ( + header_i, + dst_cord_i, + dst_cid_i, + wh_header_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter flit_width_p = 0; + parameter cord_width_p = 0; + parameter cid_width_p = 0; + parameter len_width_p = 0; + parameter payload_width_p = 0; + localparam msg_msg_payload_width_lp = payload_width_p; + localparam msg_header_width_lp = ((8 + paddr_width_p) + 3) + msg_msg_payload_width_lp; + parameter stream_mask_p = 0; + localparam wh_header_width_lp = (((cord_width_p + len_width_p) + cid_width_p) + msg_header_width_lp) + (flit_width_p - ((((cord_width_p + cid_width_p) + len_width_p) + msg_header_width_lp) % flit_width_p)); + input [msg_header_width_lp - 1:0] header_i; + input [cord_width_p - 1:0] dst_cord_i; + input [cid_width_p - 1:0] dst_cid_i; + output wire [wh_header_width_lp - 1:0] wh_header_o; + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] header_cast_i; + assign header_cast_i = header_i; + reg [(((flit_width_p - ((((cord_width_p + cid_width_p) + len_width_p) + (1 * ((((0 + payload_width_p) + 3) + paddr_width_p) + 8))) % flit_width_p)) + ((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((payload_width_p + 3) + paddr_width_p) + 7))) + ((cid_width_p + len_width_p) + cord_width_p)) - 1:0] wh_header_cast_o; + assign wh_header_o = wh_header_cast_o; + localparam msg_hdr_len_lp = (((wh_header_width_lp + flit_width_p) - 1) / flit_width_p) - 1; + localparam msg_data_len_1_lp = (((8 + flit_width_p) - 1) / flit_width_p) - 1; + localparam msg_data_len_2_lp = (((16 + flit_width_p) - 1) / flit_width_p) - 1; + localparam msg_data_len_4_lp = (((32 + flit_width_p) - 1) / flit_width_p) - 1; + localparam msg_data_len_8_lp = (((64 + flit_width_p) - 1) / flit_width_p) - 1; + localparam msg_data_len_16_lp = (((128 + flit_width_p) - 1) / flit_width_p) - 1; + localparam msg_data_len_32_lp = (((256 + flit_width_p) - 1) / flit_width_p) - 1; + localparam msg_data_len_64_lp = (((512 + flit_width_p) - 1) / flit_width_p) - 1; + localparam msg_data_len_128_lp = (((1024 + flit_width_p) - 1) / flit_width_p) - 1; + localparam msg_len_1_lp = (msg_data_len_1_lp + msg_hdr_len_lp) + 1; + localparam msg_len_2_lp = (msg_data_len_2_lp + msg_hdr_len_lp) + 1; + localparam msg_len_4_lp = (msg_data_len_4_lp + msg_hdr_len_lp) + 1; + localparam msg_len_8_lp = (msg_data_len_8_lp + msg_hdr_len_lp) + 1; + localparam msg_len_16_lp = (msg_data_len_16_lp + msg_hdr_len_lp) + 1; + localparam msg_len_32_lp = (msg_data_len_32_lp + msg_hdr_len_lp) + 1; + localparam msg_len_64_lp = (msg_data_len_64_lp + msg_hdr_len_lp) + 1; + localparam msg_len_128_lp = (msg_data_len_128_lp + msg_hdr_len_lp) + 1; + reg [len_width_p - 1:0] msg_len_li; + function automatic signed [len_width_p - 1:0] sv2v_cast_A090F_signed; + input reg signed [len_width_p - 1:0] inp; + sv2v_cast_A090F_signed = inp; + endfunction + function automatic [len_width_p - 1:0] sv2v_cast_A090F; + input reg [len_width_p - 1:0] inp; + sv2v_cast_A090F = inp; + endfunction + always @(*) begin + if (_sv2v_0) + ; + wh_header_cast_o = 1'sb0; + wh_header_cast_o[((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((payload_width_p + 3) + paddr_width_p) + 7)) + (((cid_width_p + len_width_p) + cord_width_p) - 1)-:((((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((payload_width_p + 3) + paddr_width_p) + 7)) + (((cid_width_p + len_width_p) + cord_width_p) - 1)) >= (((cid_width_p + len_width_p) + cord_width_p) + 0) ? ((((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((payload_width_p + 3) + paddr_width_p) + 7)) + (((cid_width_p + len_width_p) + cord_width_p) - 1)) - (((cid_width_p + len_width_p) + cord_width_p) + 0)) + 1 : ((((cid_width_p + len_width_p) + cord_width_p) + 0) - (((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((payload_width_p + 3) + paddr_width_p) + 7)) + (((cid_width_p + len_width_p) + cord_width_p) - 1))) + 1)] = header_cast_i; + wh_header_cast_o[(((cid_width_p + len_width_p) + cord_width_p) - 1) - ((((cid_width_p + len_width_p) + cord_width_p) - 1) - (cord_width_p - 1))-:cord_width_p] = dst_cord_i; + wh_header_cast_o[(((cid_width_p + len_width_p) + cord_width_p) - 1) - ((((cid_width_p + len_width_p) + cord_width_p) - 1) - (cid_width_p + (len_width_p + (cord_width_p - 1))))-:((cid_width_p + (len_width_p + (cord_width_p - 1))) >= (len_width_p + (cord_width_p + 0)) ? ((cid_width_p + (len_width_p + (cord_width_p - 1))) - (len_width_p + (cord_width_p + 0))) + 1 : ((len_width_p + (cord_width_p + 0)) - (cid_width_p + (len_width_p + (cord_width_p - 1)))) + 1)] = dst_cid_i; + (* full_case, parallel_case *) + case (header_cast_i[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]) + 3'b000: msg_len_li = sv2v_cast_A090F_signed(msg_len_1_lp); + 3'b001: msg_len_li = sv2v_cast_A090F_signed(msg_len_2_lp); + 3'b010: msg_len_li = sv2v_cast_A090F_signed(msg_len_4_lp); + 3'b011: msg_len_li = sv2v_cast_A090F_signed(msg_len_8_lp); + 3'b100: msg_len_li = sv2v_cast_A090F_signed(msg_len_16_lp); + 3'b101: msg_len_li = sv2v_cast_A090F_signed(msg_len_32_lp); + 3'b110: msg_len_li = sv2v_cast_A090F_signed(msg_len_64_lp); + 3'b111: msg_len_li = sv2v_cast_A090F_signed(msg_len_128_lp); + default: msg_len_li = 1'sb0; + endcase + if (stream_mask_p[header_cast_i[3-:4]]) + wh_header_cast_o[(((cid_width_p + len_width_p) + cord_width_p) - 1) - ((((cid_width_p + len_width_p) + cord_width_p) - 1) - (len_width_p + (cord_width_p - 1)))-:((len_width_p + (cord_width_p - 1)) >= (cord_width_p + 0) ? ((len_width_p + (cord_width_p - 1)) - (cord_width_p + 0)) + 1 : ((cord_width_p + 0) - (len_width_p + (cord_width_p - 1))) + 1)] = sv2v_cast_A090F(msg_len_li); + else + wh_header_cast_o[(((cid_width_p + len_width_p) + cord_width_p) - 1) - ((((cid_width_p + len_width_p) + cord_width_p) - 1) - (len_width_p + (cord_width_p - 1)))-:((len_width_p + (cord_width_p - 1)) >= (cord_width_p + 0) ? ((len_width_p + (cord_width_p - 1)) - (cord_width_p + 0)) + 1 : ((cord_width_p + 0) - (len_width_p + (cord_width_p - 1))) + 1)] = sv2v_cast_A090F_signed(msg_hdr_len_lp); + end + initial _sv2v_0 = 0; +endmodule +module bp_me_wormhole_to_stream ( + clk_i, + reset_i, + link_data_i, + link_v_i, + link_ready_and_o, + pr_hdr_o, + pr_data_o, + pr_v_o, + pr_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter flit_width_p = 0; + parameter cord_width_p = 0; + parameter len_width_p = 0; + parameter cid_width_p = 0; + parameter pr_hdr_width_p = 0; + parameter pr_payload_width_p = 0; + parameter pr_stream_mask_p = 0; + parameter pr_data_width_p = 0; + parameter wh_hdr_width_p = ((cord_width_p + len_width_p) + cid_width_p) + pr_hdr_width_p; + parameter wh_pr_hdr_offset_p = (cord_width_p + len_width_p) + cid_width_p; + parameter wh_len_offset_p = cord_width_p; + localparam [len_width_p - 1:0] hdr_len_lp = ((wh_hdr_width_p + flit_width_p) - 1) / flit_width_p; + input clk_i; + input reset_i; + input [flit_width_p - 1:0] link_data_i; + input link_v_i; + output wire link_ready_and_o; + output wire [pr_hdr_width_p - 1:0] pr_hdr_o; + output wire [pr_data_width_p - 1:0] pr_data_o; + output wire pr_v_o; + input pr_ready_and_i; + wire [((pr_payload_width_p + 3) + paddr_width_p) + 7:0] pr_hdr_cast_o; + assign pr_hdr_o = pr_hdr_cast_o; + generate + if (((1 << $clog2(pr_data_width_p)) != pr_data_width_p) || ((1 << $clog2(flit_width_p)) != flit_width_p)) begin : genblk1 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/network/bp_me_wormhole_to_stream.sv:92:5 - bp_me_wormhole_to_stream.genblk1\n msg: ", "Protocol and Network data width must be powers of 2"); + end + endgenerate + wire is_hdr; + wire is_data; + wire wh_has_data; + wire wh_last_data; + wire sipo_ready_and_lo; + wire sipo_v_li; + wire [(flit_width_p * hdr_len_lp) - 1:0] wh_hdr_lo; + wire pr_hdr_v_lo; + wire pr_hdr_yumi_li; + bsg_serial_in_parallel_out_full #( + .width_p(flit_width_p), + .els_p(hdr_len_lp) + ) hdr_sipo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(link_data_i), + .v_i(sipo_v_li), + .ready_and_o(sipo_ready_and_lo), + .data_o(wh_hdr_lo), + .v_o(pr_hdr_v_lo), + .yumi_i(pr_hdr_yumi_li) + ); + wire pr_has_data_lo = pr_stream_mask_p[pr_hdr_cast_o[3-:4]]; + wire pr_last_data_lo = wh_last_data; + assign sipo_v_li = is_hdr & link_v_i; + assign pr_hdr_cast_o = wh_hdr_lo[wh_pr_hdr_offset_p+:pr_hdr_width_p]; + assign pr_data_o = link_data_i; + assign pr_v_o = (is_hdr ? pr_hdr_v_lo & ~pr_has_data_lo : link_v_i); + assign pr_hdr_yumi_li = (pr_ready_and_i & pr_v_o) & (~pr_has_data_lo | pr_last_data_lo); + assign link_ready_and_o = (is_hdr ? sipo_ready_and_lo : pr_ready_and_i); + bp_me_wormhole_stream_control #( + .len_width_p(len_width_p), + .hdr_len_p(hdr_len_lp) + ) stream_control( + .clk_i(clk_i), + .reset_i(reset_i), + .len_i(link_data_i[wh_len_offset_p+:len_width_p]), + .link_accept_i(link_ready_and_o & link_v_i), + .is_hdr_o(is_hdr), + .has_data_o(wh_has_data), + .is_data_o(is_data), + .last_data_o(wh_last_data) + ); + generate + if (flit_width_p != pr_data_width_p) begin : genblk2 + initial $display("Error [elaboration] /OpenROAD-flow-scripts/UCSC_ML_suite/designs/src/bp_processor/dev/repo/bp_me/src/v/network/bp_me_wormhole_to_stream.sv:146:5 - bp_me_wormhole_to_stream.genblk2\n msg: ", "flit_width_p %d != pr_data_width_p %d", flit_width_p, pr_data_width_p); + end + endgenerate +endmodule +module bp_me_wormhole_stream_control ( + clk_i, + reset_i, + len_i, + link_accept_i, + is_hdr_o, + has_data_o, + is_data_o, + last_data_o +); + reg _sv2v_0; + parameter len_width_p = 0; + parameter [len_width_p - 1:0] hdr_len_p = 0; + input clk_i; + input reset_i; + input [len_width_p - 1:0] len_i; + input link_accept_i; + output wire is_hdr_o; + output wire has_data_o; + output wire is_data_o; + output wire last_data_o; + reg state_n; + reg state_r; + wire is_hdr = state_r == 1'd0; + wire is_data = state_r == 1'd1; + assign is_hdr_o = is_hdr; + assign is_data_o = is_data; + function automatic signed [len_width_p - 1:0] sv2v_cast_A090F_signed; + input reg signed [len_width_p - 1:0] inp; + sv2v_cast_A090F_signed = inp; + endfunction + wire [len_width_p - 1:0] data_len_li = (len_i - hdr_len_p) + sv2v_cast_A090F_signed(1); + wire [len_width_p - 1:0] hdr_flit_cnt; + wire [len_width_p - 1:0] data_flit_cnt; + wire hdr_flit_last = (hdr_flit_cnt == sv2v_cast_A090F_signed(1)) || (hdr_len_p == 1); + wire data_flit_last = data_flit_cnt == sv2v_cast_A090F_signed(1); + wire hdr_flit_done = hdr_flit_cnt == {len_width_p {1'sb0}}; + wire data_flit_done = data_flit_cnt == {len_width_p {1'sb0}}; + assign last_data_o = is_data & data_flit_last; + wire set_counter = (is_hdr & hdr_flit_done) & link_accept_i; + bsg_counter_set_down #( + .width_p(len_width_p), + .init_val_p(0), + .set_and_down_exclusive_p(0) + ) hdr_flit_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(set_counter), + .val_i(hdr_len_p), + .down_i(is_hdr & link_accept_i), + .count_r_o(hdr_flit_cnt) + ); + bsg_counter_set_down #( + .width_p(len_width_p), + .init_val_p(0), + .set_and_down_exclusive_p(0) + ) data_flit_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .set_i(set_counter), + .val_i(data_len_li), + .down_i(is_data & link_accept_i), + .count_r_o(data_flit_cnt) + ); + wire e_hdr_to_e_data; + generate + if (hdr_len_p == 1) begin : genblk1 + assign e_hdr_to_e_data = (link_accept_i & is_hdr) & (data_len_li != {len_width_p {1'sb0}}); + assign has_data_o = data_len_li != {len_width_p {1'sb0}}; + end + else begin : genblk1 + assign e_hdr_to_e_data = (link_accept_i & hdr_flit_last) & ~data_flit_done; + assign has_data_o = ~data_flit_done; + end + endgenerate + wire e_data_to_e_hdr = link_accept_i & data_flit_last; + always @(*) begin + if (_sv2v_0) + ; + case (state_r) + 1'd0: state_n = (e_hdr_to_e_data ? 1'd1 : 1'd0); + 1'd1: state_n = (e_data_to_e_hdr ? 1'd0 : 1'd1); + default: state_n = 1'd0; + endcase + end + always @(posedge clk_i) + if (reset_i) + state_r <= 1'd0; + else + state_r <= state_n; + initial _sv2v_0 = 0; +endmodule +module bp_me_xbar_stream ( + clk_i, + reset_i, + msg_header_i, + msg_data_i, + msg_v_i, + msg_ready_and_o, + msg_dst_i, + msg_header_o, + msg_data_o, + msg_v_o, + msg_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter payload_width_p = 0; + parameter num_source_p = 0; + parameter num_sink_p = 0; + parameter stream_mask_p = 0; + localparam xbar_msg_payload_width_lp = payload_width_p; + localparam xbar_header_width_lp = ((8 + paddr_width_p) + 3) + xbar_msg_payload_width_lp; + localparam lg_num_source_lp = ((num_source_p == 1) || (num_source_p == 0) ? 1 : $clog2(num_source_p)); + localparam lg_num_sink_lp = ((num_sink_p == 1) || (num_sink_p == 0) ? 1 : $clog2(num_sink_p)); + input clk_i; + input reset_i; + input [(num_source_p * xbar_header_width_lp) - 1:0] msg_header_i; + input [(num_source_p * bedrock_fill_width_p) - 1:0] msg_data_i; + input [num_source_p - 1:0] msg_v_i; + output wire [num_source_p - 1:0] msg_ready_and_o; + input [(num_source_p * lg_num_sink_lp) - 1:0] msg_dst_i; + output wire [(num_sink_p * xbar_header_width_lp) - 1:0] msg_header_o; + output wire [(num_sink_p * bedrock_fill_width_p) - 1:0] msg_data_o; + output wire [num_sink_p - 1:0] msg_v_o; + input [num_sink_p - 1:0] msg_ready_and_i; + wire [((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? (num_source_p * (((payload_width_p + 3) + paddr_width_p) + 8)) - 1 : (num_source_p * (1 - (((payload_width_p + 3) + paddr_width_p) + 7))) + (((payload_width_p + 3) + paddr_width_p) + 6)):((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? 0 : ((payload_width_p + 3) + paddr_width_p) + 7)] msg_header_li; + wire [(num_source_p * bedrock_fill_width_p) - 1:0] msg_data_li; + wire [num_source_p - 1:0] msg_v_li; + wire [num_source_p - 1:0] msg_yumi_lo; + wire [(num_source_p * lg_num_sink_lp) - 1:0] msg_dst_li; + genvar _gv_i_69; + generate + for (_gv_i_69 = 0; _gv_i_69 < num_source_p; _gv_i_69 = _gv_i_69 + 1) begin : buffer + localparam i = _gv_i_69; + bsg_two_fifo #(.width_p((lg_num_sink_lp + bedrock_fill_width_p) + xbar_header_width_lp)) in_fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i({msg_dst_i[i * lg_num_sink_lp+:lg_num_sink_lp], msg_data_i[i * bedrock_fill_width_p+:bedrock_fill_width_p], msg_header_i[i * xbar_header_width_lp+:xbar_header_width_lp]}), + .v_i(msg_v_i[i]), + .ready_param_o(msg_ready_and_o[i]), + .data_o({msg_dst_li[i * lg_num_sink_lp+:lg_num_sink_lp], msg_data_li[i * bedrock_fill_width_p+:bedrock_fill_width_p], msg_header_li[((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? 0 : ((payload_width_p + 3) + paddr_width_p) + 7) + (i * ((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((payload_width_p + 3) + paddr_width_p) + 7)))+:((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((payload_width_p + 3) + paddr_width_p) + 7))]}), + .v_o(msg_v_li[i]), + .yumi_i(msg_yumi_lo[i]) + ); + end + endgenerate + wire [num_sink_p - 1:0] msg_unlock_li; + wire [(num_sink_p * num_source_p) - 1:0] grants_oi_one_hot_lo; + bsg_crossbar_control_locking_o_by_i #( + .i_els_p(num_source_p), + .o_els_p(num_sink_p) + ) cbc( + .clk_i(clk_i), + .reset_i(reset_i), + .valid_i(msg_v_li), + .sel_io_i(msg_dst_li), + .yumi_o(msg_yumi_lo), + .ready_and_i(msg_ready_and_i), + .valid_o(msg_v_o), + .unlock_i(msg_unlock_li), + .grants_oi_one_hot_o(grants_oi_one_hot_lo) + ); + wire [(num_source_p * (xbar_header_width_lp + bedrock_fill_width_p)) - 1:0] source_combine; + wire [(num_sink_p * (xbar_header_width_lp + bedrock_fill_width_p)) - 1:0] sink_combine; + genvar _gv_i_70; + generate + for (_gv_i_70 = 0; _gv_i_70 < num_source_p; _gv_i_70 = _gv_i_70 + 1) begin : source_comb + localparam i = _gv_i_70; + assign source_combine[i * (xbar_header_width_lp + bedrock_fill_width_p)+:xbar_header_width_lp + bedrock_fill_width_p] = {msg_header_li[((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? 0 : ((payload_width_p + 3) + paddr_width_p) + 7) + (i * ((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((payload_width_p + 3) + paddr_width_p) + 7)))+:((((payload_width_p + 3) + paddr_width_p) + 7) >= 0 ? ((payload_width_p + 3) + paddr_width_p) + 8 : 1 - (((payload_width_p + 3) + paddr_width_p) + 7))], msg_data_li[i * bedrock_fill_width_p+:bedrock_fill_width_p]}; + end + endgenerate + genvar _gv_i_71; + generate + for (_gv_i_71 = 0; _gv_i_71 < num_sink_p; _gv_i_71 = _gv_i_71 + 1) begin : sink_comb + localparam i = _gv_i_71; + wire msg_last_lo; + bp_me_stream_pump_control #( + .bp_params_p(bp_params_p), + .stream_mask_p(stream_mask_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(payload_width_p), + .widest_beat_size_p(3'b000) + ) pump_control( + .clk_i(clk_i), + .reset_i(reset_i), + .header_i(msg_header_o[i * xbar_header_width_lp+:xbar_header_width_lp]), + .ack_i(msg_ready_and_i[i] & msg_v_o[i]), + .addr_o(), + .first_o(), + .critical_o(), + .last_o(msg_last_lo) + ); + assign {msg_header_o[i * xbar_header_width_lp+:xbar_header_width_lp], msg_data_o[i * bedrock_fill_width_p+:bedrock_fill_width_p]} = sink_combine[i * (xbar_header_width_lp + bedrock_fill_width_p)+:xbar_header_width_lp + bedrock_fill_width_p]; + assign msg_unlock_li[i] = (msg_ready_and_i[i] & msg_v_o[i]) & msg_last_lo; + end + endgenerate + bsg_crossbar_o_by_i #( + .i_els_p(num_source_p), + .o_els_p(num_sink_p), + .width_p(xbar_header_width_lp + bedrock_fill_width_p) + ) cb( + .i(source_combine), + .sel_oi_one_hot_i(grants_oi_one_hot_lo), + .o(sink_combine) + ); +endmodule +module bp_me_stream_gearbox ( + clk_i, + reset_i, + msg_header_i, + msg_data_i, + msg_v_i, + msg_ready_and_o, + msg_header_o, + msg_data_o, + msg_v_o, + msg_ready_param_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + parameter in_data_width_p = 0; + parameter out_data_width_p = 0; + parameter payload_width_p = 0; + parameter stream_mask_p = 0; + localparam xce_msg_payload_width_lp = payload_width_p; + localparam xce_header_width_lp = ((8 + paddr_width_p) + 3) + xce_msg_payload_width_lp; + input clk_i; + input reset_i; + input [xce_header_width_lp - 1:0] msg_header_i; + input [in_data_width_p - 1:0] msg_data_i; + input msg_v_i; + output wire msg_ready_and_o; + output wire [xce_header_width_lp - 1:0] msg_header_o; + output wire [out_data_width_p - 1:0] msg_data_o; + output wire msg_v_o; + input msg_ready_param_i; + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] msg_header_cast_i; + assign msg_header_cast_i = msg_header_i; + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] msg_header_cast_o; + assign msg_header_o = msg_header_cast_o; + wire [((payload_width_p + 3) + paddr_width_p) + 7:0] msg_header_li; + wire [in_data_width_p - 1:0] msg_data_li; + wire msg_v_li; + wire msg_ready_and_lo; + bsg_two_fifo #(.width_p((1 * ((((0 + payload_width_p) + 3) + paddr_width_p) + 8)) + in_data_width_p)) fifo( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i({msg_header_cast_i, msg_data_i}), + .v_i(msg_v_i), + .ready_param_o(msg_ready_and_o), + .data_o({msg_header_li, msg_data_li}), + .v_o(msg_v_li), + .yumi_i(msg_ready_and_lo & msg_v_li) + ); + assign msg_header_cast_o = msg_header_li; + generate + if (in_data_width_p < out_data_width_p) begin : widen + localparam in_max_len_lp = ((1024 + in_data_width_p) - 1) / in_data_width_p; + wire [in_max_len_lp - 1:0] in_len_lo; + bp_bedrock_size_to_len #( + .beat_width_p(in_data_width_p), + .len_width_p(in_max_len_lp) + ) in_s2l( + .size_i(msg_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]), + .len_o(in_len_lo) + ); + localparam sipop_els_lp = out_data_width_p / in_data_width_p; + wire full_sipop = in_len_lo >= sipop_els_lp; + wire empty_sipop = !stream_mask_p[msg_header_li[3-:4]]; + wire [((sipop_els_lp == 1) || (sipop_els_lp == 0) ? 1 : $clog2(sipop_els_lp)) - 1:0] sipop_len_li = (empty_sipop ? {(1 >= in_max_len_lp ? 1 : in_max_len_lp) {1'sb0}} : (full_sipop ? 1'b1 : in_len_lo)); + bsg_serial_in_parallel_out_passthrough_dynamic #( + .width_p(in_data_width_p), + .els_p(sipop_els_lp) + ) sipop( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(msg_data_li), + .v_i(msg_v_li), + .len_i(sipop_len_li), + .ready_and_o(msg_ready_and_lo), + .data_o(msg_data_o), + .v_o(msg_v_o), + .ready_and_i(msg_ready_param_i) + ); + end + else if (in_data_width_p > out_data_width_p) begin : narrow + localparam out_max_len_lp = ((1024 + out_data_width_p) - 1) / out_data_width_p; + wire [out_max_len_lp - 1:0] out_len_lo; + bp_bedrock_size_to_len #( + .beat_width_p(out_data_width_p), + .len_width_p(out_max_len_lp) + ) out_s2l( + .size_i(msg_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]), + .len_o(out_len_lo) + ); + localparam pisop_els_lp = in_data_width_p / out_data_width_p; + wire full_pisop = out_len_lo >= pisop_els_lp; + wire empty_pisop = !stream_mask_p[msg_header_li[3-:4]]; + wire [((pisop_els_lp == 1) || (pisop_els_lp == 0) ? 1 : $clog2(pisop_els_lp)) - 1:0] pisop_len_li = (empty_pisop ? {(1 >= out_max_len_lp ? 1 : out_max_len_lp) {1'sb0}} : (full_pisop ? 1'b1 : out_len_lo)); + bsg_parallel_in_serial_out_passthrough_dynamic #( + .width_p(out_data_width_p), + .els_p(pisop_els_lp) + ) pisop( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(msg_data_li), + .v_i(msg_v_li), + .len_i(pisop_len_li), + .ready_and_o(msg_ready_and_lo), + .data_o(msg_data_o), + .v_o(msg_v_o), + .ready_and_i(msg_ready_param_i) + ); + end + else begin : genblk1 + assign msg_data_o = msg_data_li; + assign msg_v_o = msg_v_li; + assign msg_ready_and_lo = msg_ready_param_i; + end + endgenerate +endmodule +module bp_nd_socket ( + tile_clk_i, + tile_reset_i, + network_clk_i, + network_reset_i, + my_cord_i, + network_link_i, + network_link_o, + tile_link_i, + tile_link_o +); + parameter flit_width_p = 0; + parameter len_width_p = 1; + parameter dims_p = 2; + parameter cord_dims_p = dims_p; + parameter signed [(cord_dims_p >= 0 ? ((cord_dims_p + 1) * 32) - 1 : ((1 - cord_dims_p) * 32) + ((cord_dims_p * 32) - 1)):(cord_dims_p >= 0 ? 0 : cord_dims_p * 32)] cord_markers_pos_p = 96'h000000050000000400000000; + localparam dirs_lp = (dims_p * 2) + 1; + localparam [17:0] bsg_wormhole_router_pkg_StrictX = 18'b011101111011101111; + localparam [49:0] bsg_wormhole_router_pkg_StrictXY = 50'b01111101110001100101111110100110001110111110111111; + parameter [((2 * dirs_lp) * dirs_lp) - 1:0] routing_matrix_p = (dims_p == 2 ? bsg_wormhole_router_pkg_StrictXY : bsg_wormhole_router_pkg_StrictX); + parameter async_clk_p = 0; + parameter els_p = 0; + localparam ral_link_width_lp = flit_width_p + 2; + input tile_clk_i; + input tile_reset_i; + input network_clk_i; + input network_reset_i; + input [cord_markers_pos_p[(cord_dims_p >= 0 ? dims_p : cord_dims_p - dims_p) * 32+:32] - 1:0] my_cord_i; + input [(((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? (((((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) - ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2)) + 1) * ral_link_width_lp) + ((((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) * ral_link_width_lp) - 1) : (((((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) - ((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3))) + 1) * ral_link_width_lp) + ((((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) * ral_link_width_lp) - 1)):(((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) * ral_link_width_lp : ((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) * ral_link_width_lp)] network_link_i; + output wire [(((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? (((((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) - ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2)) + 1) * ral_link_width_lp) + ((((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) * ral_link_width_lp) - 1) : (((((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) - ((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3))) + 1) * ral_link_width_lp) + ((((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) * ral_link_width_lp) - 1)):(((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) * ral_link_width_lp : ((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) * ral_link_width_lp)] network_link_o; + input [(els_p * ral_link_width_lp) - 1:0] tile_link_i; + output wire [(els_p * ral_link_width_lp) - 1:0] tile_link_o; + wire [(els_p * (2 + flit_width_p)) - 1:0] network_link_li; + wire [(els_p * (2 + flit_width_p)) - 1:0] network_link_lo; + genvar _gv_i_72; + generate + for (_gv_i_72 = 0; _gv_i_72 < els_p; _gv_i_72 = _gv_i_72 + 1) begin : routers + localparam i = _gv_i_72; + if (async_clk_p == 1) begin : async + bsg_async_noc_link #( + .width_p(flit_width_p), + .lg_size_p(3) + ) cdc( + .aclk_i(tile_clk_i), + .areset_i(tile_reset_i), + .bclk_i(network_clk_i), + .breset_i(network_reset_i), + .alink_i(tile_link_i[i * ral_link_width_lp+:ral_link_width_lp]), + .alink_o(tile_link_o[i * ral_link_width_lp+:ral_link_width_lp]), + .blink_i(network_link_lo[i * (2 + flit_width_p)+:2 + flit_width_p]), + .blink_o(network_link_li[i * (2 + flit_width_p)+:2 + flit_width_p]) + ); + end + else begin : sync + assign network_link_li[i * (2 + flit_width_p)+:2 + flit_width_p] = tile_link_i[i * ral_link_width_lp+:ral_link_width_lp]; + assign tile_link_o[i * ral_link_width_lp+:ral_link_width_lp] = network_link_lo[i * (2 + flit_width_p)+:2 + flit_width_p]; + end + bsg_wormhole_router #( + .flit_width_p(flit_width_p), + .dims_p(dims_p), + .cord_dims_p(cord_dims_p), + .cord_markers_pos_p(cord_markers_pos_p), + .len_width_p(len_width_p), + .reverse_order_p(1), + .routing_matrix_p(routing_matrix_p), + .hold_on_valid_p(1) + ) router( + .clk_i(network_clk_i), + .reset_i(network_reset_i), + .my_cord_i(my_cord_i), + .link_i({network_link_i[ral_link_width_lp * (((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? (((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) + (i * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp)) : (((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) + (i * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp))) + (((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp) - 1)) : ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) - ((((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) + (i * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp)) : (((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) + (i * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp))) + (((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp) - 1)) - ((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3))))+:ral_link_width_lp * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp)], network_link_li[i * (2 + flit_width_p)+:2 + flit_width_p]}), + .link_o({network_link_o[ral_link_width_lp * (((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? (((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) + (i * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp)) : (((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) + (i * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp))) + (((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp) - 1)) : ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) - ((((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3)) >= ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) ? ((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) + (i * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp)) : (((dirs_lp - 2) >= 0 ? 0 : dirs_lp - 2) + (i * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp))) + (((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp) - 1)) - ((dirs_lp - 2) >= 0 ? (els_p * (dirs_lp - 1)) - 1 : (els_p * (3 - dirs_lp)) + (dirs_lp - 3))))+:ral_link_width_lp * ((dirs_lp - 2) >= 0 ? dirs_lp - 1 : 3 - dirs_lp)], network_link_lo[i * (2 + flit_width_p)+:2 + flit_width_p]}) + ); + end + endgenerate +endmodule +module bp_cacc_vdp ( + clk_i, + reset_i, + lce_id_i, + lce_req_header_o, + lce_req_data_o, + lce_req_v_o, + lce_req_ready_and_i, + lce_cmd_header_i, + lce_cmd_data_i, + lce_cmd_v_i, + lce_cmd_ready_and_o, + lce_fill_header_i, + lce_fill_data_i, + lce_fill_v_i, + lce_fill_ready_and_o, + lce_fill_header_o, + lce_fill_data_o, + lce_fill_v_o, + lce_fill_ready_and_i, + lce_resp_header_o, + lce_resp_data_o, + lce_resp_v_o, + lce_resp_ready_and_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam dcache_req_width_lp = ((((acache_req_id_width_p + 1) + bp_common_pkg_dword_width_gp) + 3) + paddr_width_p) + 8; + localparam dcache_req_metadata_width_lp = ((acache_assoc_p == 1) || (acache_assoc_p == 0) ? 1 : $clog2(acache_assoc_p)) + 1; + localparam dcache_data_mem_pkt_width_lp = (((((acache_sets_p == 1) || (acache_sets_p == 0) ? 1 : $clog2(acache_sets_p)) + ((acache_assoc_p == 1) || (acache_assoc_p == 0) ? 1 : $clog2(acache_assoc_p))) + acache_fill_width_p) + (acache_block_width_p / acache_fill_width_p)) + 2; + localparam dcache_tag_mem_pkt_width_lp = (((((acache_sets_p == 1) || (acache_sets_p == 0) ? 1 : $clog2(acache_sets_p)) + ((acache_assoc_p == 1) || (acache_assoc_p == 0) ? 1 : $clog2(acache_assoc_p))) + 3) + acache_tag_width_p) + 3; + localparam dcache_tag_info_width_lp = 3 + acache_tag_width_p; + localparam dcache_stat_mem_pkt_width_lp = (((acache_sets_p == 1) || (acache_sets_p == 0) ? 1 : $clog2(acache_sets_p)) + ((acache_assoc_p == 1) || (acache_assoc_p == 0) ? 1 : $clog2(acache_assoc_p))) + 2; + localparam dcache_stat_info_width_lp = (2 > ((2 * acache_assoc_p) - 1) ? 2 : (2 * acache_assoc_p) - 1); + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [lce_id_width_p - 1:0] lce_id_i; + output wire [lce_req_header_width_lp - 1:0] lce_req_header_o; + output wire [acache_fill_width_p - 1:0] lce_req_data_o; + output wire lce_req_v_o; + input lce_req_ready_and_i; + input [lce_cmd_header_width_lp - 1:0] lce_cmd_header_i; + input [acache_fill_width_p - 1:0] lce_cmd_data_i; + input lce_cmd_v_i; + output wire lce_cmd_ready_and_o; + input [lce_fill_header_width_lp - 1:0] lce_fill_header_i; + input [acache_fill_width_p - 1:0] lce_fill_data_i; + input lce_fill_v_i; + output wire lce_fill_ready_and_o; + output wire [lce_fill_header_width_lp - 1:0] lce_fill_header_o; + output wire [acache_fill_width_p - 1:0] lce_fill_data_o; + output wire lce_fill_v_o; + input lce_fill_ready_and_i; + output wire [lce_resp_header_width_lp - 1:0] lce_resp_header_o; + output wire [acache_fill_width_p - 1:0] lce_resp_data_o; + output wire lce_resp_v_o; + input lce_resp_ready_and_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [acache_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [acache_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + localparam bp_common_pkg_reg_addr_width_gp = 5; + localparam reg_els_lp = 1; + wire r_v_li; + wire w_v_li; + wire [paddr_width_p - 1:0] addr_lo; + wire [63:0] data_li; + wire [63:0] data_lo; + bp_me_bedrock_register #( + .bp_params_p(bp_params_p), + .els_p(reg_els_lp), + .reg_addr_width_p(paddr_width_p), + .base_addr_p(64'bzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz) + ) register( + .clk_i(clk_i), + .reset_i(reset_i), + .r_v_o(r_v_li), + .w_v_o(w_v_li), + .addr_o(addr_lo), + .size_o(), + .data_o(data_lo), + .data_i(data_li), + .mem_fwd_header_i(mem_fwd_header_i), + .mem_fwd_data_i(mem_fwd_data_i), + .mem_fwd_v_i(mem_fwd_v_i), + .mem_fwd_ready_and_o(mem_fwd_ready_and_o), + .mem_rev_header_o(mem_rev_header_o), + .mem_rev_data_o(mem_rev_data_o), + .mem_rev_v_o(mem_rev_v_o), + .mem_rev_ready_and_i(mem_rev_ready_and_i) + ); + wire [((((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + bp_common_pkg_tile_id_width_gp) + bp_common_pkg_dev_id_width_gp) + bp_common_pkg_dev_addr_width_gp) - 1:0] local_addr_lo; + wire [((paddr_width_p - daddr_width_p) + daddr_width_p) - 1:0] global_addr_lo; + assign global_addr_lo = addr_lo; + assign local_addr_lo = addr_lo; + wire [(11 + vaddr_width_p) - 1:0] acache_pkt_li; + wire acache_busy_lo; + reg acache_v_li; + wire [63:0] acache_data_lo; + wire acache_v_lo; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i[lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))-:((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) >= (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) ? ((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) - (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) + 1 : ((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) - (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) + 1)] = lce_id_i; + assign cfg_bus_cast_i[2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))-:((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) >= (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) ? ((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) + 1 : ((cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) - (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) + 1)] = 2'd1; + wire [((((acache_req_id_width_p + 1) + bp_common_pkg_dword_width_gp) + 3) + paddr_width_p) + 7:0] acache_req_lo; + wire acache_req_v_lo; + wire acache_req_yumi_li; + wire acache_req_lock_li; + wire [((acache_assoc_p == 1) || (acache_assoc_p == 0) ? 1 : $clog2(acache_assoc_p)) + 0:0] acache_req_metadata_lo; + wire acache_req_metadata_v_lo; + wire [acache_req_id_width_p - 1:0] acache_req_id_lo; + wire acache_req_last_lo; + wire acache_req_critical_lo; + wire acache_req_credits_full_lo; + wire acache_req_credits_empty_lo; + wire [(((((acache_sets_p == 1) || (acache_sets_p == 0) ? 1 : $clog2(acache_sets_p)) + ((acache_assoc_p == 1) || (acache_assoc_p == 0) ? 1 : $clog2(acache_assoc_p))) + acache_fill_width_p) + (acache_block_width_p / acache_fill_width_p)) + 1:0] acache_data_mem_pkt_li; + wire acache_data_mem_pkt_v_li; + wire acache_data_mem_pkt_yumi_lo; + wire [acache_block_width_p - 1:0] acache_data_mem_lo; + wire [(((((acache_sets_p == 1) || (acache_sets_p == 0) ? 1 : $clog2(acache_sets_p)) + ((acache_assoc_p == 1) || (acache_assoc_p == 0) ? 1 : $clog2(acache_assoc_p))) + 3) + acache_tag_width_p) + 2:0] acache_tag_mem_pkt_li; + wire acache_tag_mem_pkt_v_li; + wire acache_tag_mem_pkt_yumi_lo; + wire [(3 + acache_tag_width_p) - 1:0] acache_tag_mem_lo; + wire [(((acache_sets_p == 1) || (acache_sets_p == 0) ? 1 : $clog2(acache_sets_p)) + ((acache_assoc_p == 1) || (acache_assoc_p == 0) ? 1 : $clog2(acache_assoc_p))) + 1:0] acache_stat_mem_pkt_li; + wire acache_stat_mem_pkt_v_li; + wire acache_stat_mem_pkt_yumi_lo; + wire [(((acache_assoc_p < 2 ? 0 : acache_assoc_p - 2) >= 0 ? (acache_assoc_p < 2 ? 0 : acache_assoc_p - 2) + 1 : 1 - (acache_assoc_p < 2 ? 0 : acache_assoc_p - 2)) + acache_assoc_p) - 1:0] acache_stat_mem_lo; + reg [ptag_width_p - 1:0] acache_ptag_li; + reg [63:0] acache_st_data_r; + bp_be_dcache #( + .bp_params_p(bp_params_p), + .sets_p(acache_sets_p), + .assoc_p(acache_assoc_p), + .block_width_p(acache_block_width_p), + .fill_width_p(acache_fill_width_p) + ) acache( + .clk_i(clk_i), + .reset_i(reset_i), + .dcache_pkt_i(acache_pkt_li), + .v_i(acache_v_li), + .busy_o(acache_busy_lo), + .flush_i(1'b0), + .ordered_o(), + .ptag_v_i(1'b1), + .ptag_i(acache_ptag_li), + .ptag_uncached_i(1'b0), + .ptag_dram_i(1'b1), + .st_data_i(acache_st_data_r), + .v_o(acache_v_lo), + .data_o(acache_data_lo), + .rd_addr_o(), + .int_o(), + .float_o(), + .ptw_o(), + .ret_o(), + .late_o(), + .tag_o(), + .unsigned_o(), + .cache_req_o(acache_req_lo), + .cache_req_v_o(acache_req_v_lo), + .cache_req_yumi_i(acache_req_yumi_li), + .cache_req_lock_i(acache_req_lock_li), + .cache_req_metadata_o(acache_req_metadata_lo), + .cache_req_metadata_v_o(acache_req_metadata_v_lo), + .cache_req_credits_full_i(acache_req_credits_full_lo), + .cache_req_credits_empty_i(acache_req_credits_empty_lo), + .cache_req_id_i(acache_req_id_lo), + .cache_req_critical_i(acache_req_critical_lo), + .cache_req_last_i(acache_req_last_lo), + .data_mem_pkt_v_i(acache_data_mem_pkt_v_li), + .data_mem_pkt_i(acache_data_mem_pkt_li), + .data_mem_pkt_yumi_o(acache_data_mem_pkt_yumi_lo), + .data_mem_o(acache_data_mem_lo), + .tag_mem_pkt_v_i(acache_tag_mem_pkt_v_li), + .tag_mem_pkt_i(acache_tag_mem_pkt_li), + .tag_mem_pkt_yumi_o(acache_tag_mem_pkt_yumi_lo), + .tag_mem_o(acache_tag_mem_lo), + .stat_mem_pkt_v_i(acache_stat_mem_pkt_v_li), + .stat_mem_pkt_i(acache_stat_mem_pkt_li), + .stat_mem_pkt_yumi_o(acache_stat_mem_pkt_yumi_lo), + .stat_mem_o(acache_stat_mem_lo) + ); + bp_lce #( + .bp_params_p(bp_params_p), + .assoc_p(acache_assoc_p), + .sets_p(acache_sets_p), + .block_width_p(acache_block_width_p), + .fill_width_p(acache_fill_width_p), + .data_width_p(acache_data_width_p), + .tag_width_p(acache_tag_width_p), + .id_width_p(acache_req_id_width_p), + .timeout_max_limit_p(4), + .credits_p(coh_noc_max_credits_p) + ) lce( + .clk_i(clk_i), + .reset_i(reset_i), + .lce_id_i(cfg_bus_cast_i[lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))-:((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) >= (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) ? ((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) - (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) + 1 : ((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) - (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) + 1)]), + .did_i(cfg_bus_cast_i[did_width_p - 1-:did_width_p]), + .lce_mode_i(cfg_bus_cast_i[2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))-:((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) >= (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) ? ((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) + 1 : ((cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) - (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) + 1)]), + .cache_req_i(acache_req_lo), + .cache_req_v_i(acache_req_v_lo), + .cache_req_yumi_o(acache_req_yumi_li), + .cache_req_lock_o(acache_req_lock_li), + .cache_req_metadata_i(acache_req_metadata_lo), + .cache_req_metadata_v_i(acache_req_metadata_v_lo), + .cache_req_id_o(acache_req_id_lo), + .cache_req_critical_o(acache_req_critical_lo), + .cache_req_last_o(acache_req_last_lo), + .cache_req_credits_full_o(acache_req_credits_full_lo), + .cache_req_credits_empty_o(acache_req_credits_empty_lo), + .data_mem_pkt_o(acache_data_mem_pkt_li), + .data_mem_pkt_v_o(acache_data_mem_pkt_v_li), + .data_mem_pkt_yumi_i(acache_data_mem_pkt_yumi_lo), + .data_mem_i(acache_data_mem_lo), + .tag_mem_pkt_o(acache_tag_mem_pkt_li), + .tag_mem_pkt_v_o(acache_tag_mem_pkt_v_li), + .tag_mem_pkt_yumi_i(acache_tag_mem_pkt_yumi_lo), + .tag_mem_i(acache_tag_mem_lo), + .stat_mem_pkt_v_o(acache_stat_mem_pkt_v_li), + .stat_mem_pkt_o(acache_stat_mem_pkt_li), + .stat_mem_pkt_yumi_i(acache_stat_mem_pkt_yumi_lo), + .stat_mem_i(acache_stat_mem_lo), + .lce_req_header_o(lce_req_header_o), + .lce_req_data_o(lce_req_data_o), + .lce_req_v_o(lce_req_v_o), + .lce_req_ready_and_i(lce_req_ready_and_i), + .lce_cmd_header_i(lce_cmd_header_i), + .lce_cmd_data_i(lce_cmd_data_i), + .lce_cmd_v_i(lce_cmd_v_i), + .lce_cmd_ready_and_o(lce_cmd_ready_and_o), + .lce_fill_header_i(lce_fill_header_i), + .lce_fill_data_i(lce_fill_data_i), + .lce_fill_v_i(lce_fill_v_i), + .lce_fill_ready_and_o(lce_fill_ready_and_o), + .lce_fill_header_o(lce_fill_header_o), + .lce_fill_data_o(lce_fill_data_o), + .lce_fill_v_o(lce_fill_v_o), + .lce_fill_ready_and_i(lce_fill_ready_and_i), + .lce_resp_header_o(lce_resp_header_o), + .lce_resp_data_o(lce_resp_data_o), + .lce_resp_v_o(lce_resp_v_o), + .lce_resp_ready_and_i(lce_resp_ready_and_i) + ); + reg [63:0] start_cmd; + reg [63:0] input_a_ptr; + reg [63:0] input_b_ptr; + reg [63:0] input_len; + reg [63:0] res_ptr; + reg [63:0] res_len; + reg [63:0] operation; + reg [63:0] dot_product_res; + reg [63:0] vector_a [0:7]; + reg [63:0] vector_b [0:7]; + wire [63:0] vdp_result; + reg [2:0] len_a_cnt; + reg [2:0] len_b_cnt; + reg load; + reg second_operand; + reg [3:0] state_n; + reg [3:0] state_r; + wire done = state_r == 4'd10; + wire res_status = state_r == 4'd1; + always @(posedge clk_i) + if (reset_i || done) begin + len_a_cnt <= 1'sb0; + len_b_cnt <= 1'sb0; + end + else if ((acache_v_lo & load) & ~second_operand) begin + vector_a[len_a_cnt] <= acache_data_lo; + len_a_cnt <= len_a_cnt + 1'b1; + end + else if ((acache_v_lo & load) & second_operand) begin + vector_b[len_b_cnt] <= acache_data_lo; + len_b_cnt <= len_b_cnt + 1'b1; + end + wire csr_w_v_li = w_v_li && (global_addr_lo[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)] == 0); + wire csr_r_v_li = r_v_li && (global_addr_lo[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)] == 0); + localparam bp_common_pkg_input_len_csr_idx_gp = 20'h00010; + localparam bp_common_pkg_inputa_ptr_csr_idx_gp = 20'h00000; + localparam bp_common_pkg_inputb_ptr_csr_idx_gp = 20'h00008; + localparam bp_common_pkg_operation_csr_idx_gp = 20'h00038; + localparam bp_common_pkg_res_len_csr_idx_gp = 20'h00030; + localparam bp_common_pkg_res_ptr_csr_idx_gp = 20'h00028; + localparam bp_common_pkg_start_cmd_csr_idx_gp = 20'h00018; + always @(posedge clk_i) begin + if (reset_i) begin + input_a_ptr <= 1'sb0; + input_b_ptr <= 1'sb0; + input_len <= 1'sb0; + start_cmd <= 1'sb0; + res_ptr <= 1'sb0; + res_len <= 1'sb0; + operation <= 1'sb0; + end + else if (csr_w_v_li) + (* full_case, parallel_case *) + casez (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp]) + bp_common_pkg_inputa_ptr_csr_idx_gp: input_a_ptr <= data_lo; + bp_common_pkg_inputb_ptr_csr_idx_gp: input_b_ptr <= data_lo; + bp_common_pkg_input_len_csr_idx_gp: input_len <= data_lo; + bp_common_pkg_start_cmd_csr_idx_gp: start_cmd <= data_lo; + bp_common_pkg_res_ptr_csr_idx_gp: res_ptr <= data_lo; + bp_common_pkg_res_len_csr_idx_gp: res_len <= data_lo; + bp_common_pkg_operation_csr_idx_gp: operation <= data_lo; + default: + ; + endcase + if (state_r == 4'd10) + start_cmd <= 1'sb0; + end + reg input_a_ptr_r_v_r; + reg input_b_ptr_r_v_r; + reg input_len_r_v_r; + reg operation_r_v_r; + reg start_cmd_r_v_r; + reg res_status_r_v_r; + reg res_ptr_r_v_r; + reg res_len_r_v_r; + localparam bp_common_pkg_res_status_csr_idx_gp = 20'h00020; + always @(posedge clk_i) begin + input_a_ptr_r_v_r <= csr_r_v_li && (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp] == bp_common_pkg_inputa_ptr_csr_idx_gp); + input_b_ptr_r_v_r <= csr_r_v_li && (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp] == bp_common_pkg_inputb_ptr_csr_idx_gp); + input_len_r_v_r <= csr_r_v_li && (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp] == bp_common_pkg_input_len_csr_idx_gp); + start_cmd_r_v_r <= csr_r_v_li && (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp] == bp_common_pkg_start_cmd_csr_idx_gp); + res_status_r_v_r <= csr_r_v_li && (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp] == bp_common_pkg_res_status_csr_idx_gp); + res_ptr_r_v_r <= csr_r_v_li && (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp] == bp_common_pkg_res_ptr_csr_idx_gp); + res_len_r_v_r <= csr_r_v_li && (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp] == bp_common_pkg_res_len_csr_idx_gp); + operation_r_v_r <= csr_r_v_li && (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp] == bp_common_pkg_operation_csr_idx_gp); + end + reg [63:0] csr_data_lo; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp]) + bp_common_pkg_inputa_ptr_csr_idx_gp: csr_data_lo = input_a_ptr; + bp_common_pkg_inputb_ptr_csr_idx_gp: csr_data_lo = input_b_ptr; + bp_common_pkg_input_len_csr_idx_gp: csr_data_lo = input_len; + bp_common_pkg_start_cmd_csr_idx_gp: csr_data_lo = start_cmd; + bp_common_pkg_res_status_csr_idx_gp: csr_data_lo = res_status; + bp_common_pkg_res_ptr_csr_idx_gp: csr_data_lo = res_ptr; + bp_common_pkg_res_len_csr_idx_gp: csr_data_lo = res_len; + default: csr_data_lo = operation; + endcase + end + assign data_li = csr_data_lo; + wire [vaddr_width_p - 1:0] vaddr = (load ? (second_operand ? input_b_ptr + (len_b_cnt * 8) : input_a_ptr + (len_a_cnt * 8)) : res_ptr); + function automatic [4:0] sv2v_cast_07683; + input reg [4:0] inp; + sv2v_cast_07683 = inp; + endfunction + function automatic [vaddr_width_p - 1:0] sv2v_cast_9A70B; + input reg [vaddr_width_p - 1:0] inp; + sv2v_cast_9A70B = inp; + endfunction + assign acache_pkt_li = {sv2v_cast_07683(1'sb0), (load ? 6'b000011 : 6'b001011), sv2v_cast_9A70B(vaddr)}; + always @(posedge clk_i) begin + acache_ptag_li <= vaddr[bp_common_pkg_page_offset_width_gp+:ptag_width_p]; + acache_st_data_r <= dot_product_res; + end + always @(*) begin + if (_sv2v_0) + ; + load = 0; + second_operand = 0; + acache_v_li = 0; + dot_product_res = 1'sb0; + state_n = state_r; + case (state_r) + 4'd0: state_n = (reset_i ? 4'd0 : 4'd1); + 4'd1: begin + load = 1; + state_n = (start_cmd ? 4'd2 : 4'd1); + end + 4'd2: state_n = (!acache_busy_lo ? 4'd3 : 4'd2); + 4'd3: begin + acache_v_li = 1'sb1; + state_n = 4'd4; + end + 4'd4: state_n = (acache_v_lo ? (load ? (second_operand ? 4'd8 : 4'd6) : 4'd10) : 4'd5); + 4'd5: state_n = (~(lce_cmd_v_i | lce_fill_v_i) ? 4'd5 : 4'd2); + 4'd6: state_n = (len_a_cnt == input_len ? 4'd7 : 4'd2); + 4'd7: begin + second_operand = 1; + state_n = 4'd2; + end + 4'd8: begin + second_operand = 1; + dot_product_res = vdp_result; + state_n = (len_b_cnt == input_len ? 4'd9 : 4'd2); + end + 4'd9: state_n = 4'd2; + 4'd10: state_n = (acache_req_credits_empty_lo ? 4'd0 : 4'd10); + endcase + end + wire [63:0] product_res [0:7]; + wire [63:0] sum_l1 [0:3]; + wire [63:0] sum_l2 [0:1]; + genvar _gv_i_73; + generate + for (_gv_i_73 = 0; _gv_i_73 < 8; _gv_i_73 = _gv_i_73 + 1) begin : genblk1 + localparam i = _gv_i_73; + assign product_res[i] = vector_a[i] * vector_b[i]; + end + endgenerate + genvar _gv_i_74; + generate + for (_gv_i_74 = 0; _gv_i_74 < 4; _gv_i_74 = _gv_i_74 + 1) begin : genblk2 + localparam i = _gv_i_74; + assign sum_l1[i] = product_res[2 * i] + product_res[(2 * i) + 1]; + end + endgenerate + genvar _gv_i_75; + generate + for (_gv_i_75 = 0; _gv_i_75 < 2; _gv_i_75 = _gv_i_75 + 1) begin : genblk3 + localparam i = _gv_i_75; + assign sum_l2[i] = sum_l1[2 * i] + sum_l1[(2 * i) + 1]; + end + endgenerate + assign vdp_result = sum_l2[0] + sum_l2[1]; + always @(posedge clk_i) + if (reset_i) + state_r <= 4'd0; + else + state_r <= state_n; + initial _sv2v_0 = 0; +endmodule +module bp_cacc_tile ( + clk_i, + reset_i, + my_cord_i, + lce_req_link_i, + lce_req_link_o, + lce_cmd_link_i, + lce_cmd_link_o, + lce_fill_link_i, + lce_fill_link_o, + lce_resp_link_i, + lce_resp_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam mem_noc_ral_link_width_lp = mem_noc_flit_width_p + 2; + parameter accelerator_type_p = 16'd1; + input clk_i; + input reset_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + input [coh_noc_ral_link_width_lp - 1:0] lce_req_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_req_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_fill_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_fill_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_resp_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_resp_link_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_i; + assign lce_req_link_cast_i = lce_req_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_o; + assign lce_req_link_o = lce_req_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_i; + assign lce_cmd_link_cast_i = lce_cmd_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_o; + assign lce_cmd_link_o = lce_cmd_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_fill_link_cast_i; + assign lce_fill_link_cast_i = lce_fill_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_fill_link_cast_o; + assign lce_fill_link_o = lce_fill_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_resp_link_cast_i; + assign lce_resp_link_cast_i = lce_resp_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_resp_link_cast_o; + assign lce_resp_link_o = lce_resp_link_cast_o; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_lo; + wire [acache_fill_width_p - 1:0] lce_cmd_data_lo; + wire lce_cmd_v_lo; + wire lce_cmd_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_cmd_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_cmd_dst_cid_lo; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_li; + wire [acache_fill_width_p - 1:0] lce_req_data_li; + wire lce_req_v_li; + wire lce_req_ready_and_lo; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_lo; + wire [acache_fill_width_p - 1:0] mem_fwd_data_lo; + wire mem_fwd_v_lo; + wire mem_fwd_ready_and_li; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_li; + wire [acache_fill_width_p - 1:0] mem_rev_data_li; + wire mem_rev_v_li; + wire mem_rev_ready_and_lo; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_lo; + wire [acache_fill_width_p - 1:0] lce_req_data_lo; + wire lce_req_v_lo; + wire lce_req_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_req_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_req_dst_cid_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_li; + wire [acache_fill_width_p - 1:0] lce_cmd_data_li; + wire lce_cmd_v_li; + wire lce_cmd_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_fill_header_li; + wire [acache_fill_width_p - 1:0] lce_fill_data_li; + wire lce_fill_v_li; + wire lce_fill_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_fill_header_lo; + wire [acache_fill_width_p - 1:0] lce_fill_data_lo; + wire lce_fill_v_lo; + wire lce_fill_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_fill_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_fill_dst_cid_lo; + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_resp_header_lo; + wire [acache_fill_width_p - 1:0] lce_resp_data_lo; + wire lce_resp_v_lo; + wire lce_resp_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_resp_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_resp_dst_cid_lo; + reg reset_r; + always @(posedge clk_i) reset_r <= reset_i; + wire [cce_id_width_p - 1:0] cce_id_li; + wire [lce_id_width_p - 1:0] lce_id_li; + bp_me_cord_to_id #(.bp_params_p(bp_params_p)) id_map( + .cord_i(my_cord_i), + .core_id_o(), + .cce_id_o(cce_id_li), + .lce_id0_o(lce_id_li), + .lce_id1_o() + ); + bp_io_cce #(.bp_params_p(bp_params_p)) io_cce( + .clk_i(clk_i), + .reset_i(reset_r), + .cce_id_i(cce_id_li), + .lce_req_header_i(lce_req_header_li), + .lce_req_data_i(lce_req_data_li), + .lce_req_v_i(lce_req_v_li), + .lce_req_ready_and_o(lce_req_ready_and_lo), + .lce_cmd_header_o(lce_cmd_header_lo), + .lce_cmd_data_o(lce_cmd_data_lo), + .lce_cmd_v_o(lce_cmd_v_lo), + .lce_cmd_ready_and_i(lce_cmd_ready_and_li), + .mem_fwd_header_o(mem_fwd_header_lo), + .mem_fwd_data_o(mem_fwd_data_lo), + .mem_fwd_v_o(mem_fwd_v_lo), + .mem_fwd_ready_and_i(mem_fwd_ready_and_li), + .mem_rev_header_i(mem_rev_header_li), + .mem_rev_data_i(mem_rev_data_li), + .mem_rev_v_i(mem_rev_v_li), + .mem_rev_ready_and_o(mem_rev_ready_and_lo) + ); + generate + if (cacc_type_p == 16'd1) begin : cacc_vdp + bp_cacc_vdp #(.bp_params_p(bp_params_p)) accelerator_link( + .clk_i(clk_i), + .reset_i(reset_r), + .lce_id_i(lce_id_li), + .mem_fwd_header_i(mem_fwd_header_lo), + .mem_fwd_data_i(mem_fwd_data_lo), + .mem_fwd_v_i(mem_fwd_v_lo), + .mem_fwd_ready_and_o(mem_fwd_ready_and_li), + .mem_rev_header_o(mem_rev_header_li), + .mem_rev_data_o(mem_rev_data_li), + .mem_rev_v_o(mem_rev_v_li), + .mem_rev_ready_and_i(mem_rev_ready_and_lo), + .lce_req_header_o(lce_req_header_lo), + .lce_req_data_o(lce_req_data_lo), + .lce_req_v_o(lce_req_v_lo), + .lce_req_ready_and_i(lce_req_ready_and_li), + .lce_cmd_header_i(lce_cmd_header_li), + .lce_cmd_data_i(lce_cmd_data_li), + .lce_cmd_v_i(lce_cmd_v_li), + .lce_cmd_ready_and_o(lce_cmd_ready_and_lo), + .lce_fill_header_i(lce_fill_header_li), + .lce_fill_data_i(lce_fill_data_li), + .lce_fill_v_i(lce_fill_v_li), + .lce_fill_ready_and_o(lce_fill_ready_and_lo), + .lce_fill_header_o(lce_fill_header_lo), + .lce_fill_data_o(lce_fill_data_lo), + .lce_fill_v_o(lce_fill_v_lo), + .lce_fill_ready_and_i(lce_fill_ready_and_li), + .lce_resp_header_o(lce_resp_header_lo), + .lce_resp_data_o(lce_resp_data_lo), + .lce_resp_v_o(lce_resp_v_lo), + .lce_resp_ready_and_i(lce_resp_ready_and_li) + ); + end + else begin : none + assign mem_fwd_ready_and_li = 1'sb0; + assign mem_rev_header_li = 1'sb0; + assign mem_rev_data_li = 1'sb0; + assign mem_rev_v_li = 1'sb0; + assign lce_req_header_lo = 1'sb0; + assign lce_req_data_lo = 1'sb0; + assign lce_req_v_lo = 1'sb0; + assign lce_cmd_ready_and_lo = 1'sb0; + assign lce_fill_header_lo = 1'sb0; + assign lce_fill_data_lo = 1'sb0; + assign lce_fill_v_lo = 1'sb0; + assign lce_fill_ready_and_lo = 1'sb0; + assign lce_resp_header_lo = 1'sb0; + assign lce_resp_data_lo = 1'sb0; + assign lce_resp_v_lo = 1'sb0; + end + endgenerate + bp_me_cce_id_to_cord #(.bp_params_p(bp_params_p)) req_router_cord( + .cce_id_i(lce_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)]), + .cce_cord_o(lce_req_dst_cord_lo), + .cce_cid_o(lce_req_dst_cid_lo) + ); + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_req_header_width_lp), + .pr_payload_width_p(lce_req_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_req_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_req_header_lo), + .pr_data_i(lce_req_data_lo), + .pr_v_i(lce_req_v_lo), + .pr_ready_and_o(lce_req_ready_and_li), + .dst_cord_i(lce_req_dst_cord_lo), + .dst_cid_i(lce_req_dst_cid_lo), + .link_data_o(lce_req_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_req_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_req_link_cast_i[coh_noc_flit_width_p + 0]) + ); + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_cmd_header_width_lp), + .pr_payload_width_p(lce_cmd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_cmd_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_cmd_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_cmd_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(lce_cmd_link_cast_o[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_cmd_header_li), + .pr_data_o(lce_cmd_data_li), + .pr_v_o(lce_cmd_v_li), + .pr_ready_and_i(lce_cmd_ready_and_lo) + ); + localparam bp_common_pkg_lce_fill_stream_mask_gp = 16; + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_fill_header_width_lp), + .pr_payload_width_p(lce_fill_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_fill_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_fill_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_fill_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_fill_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(lce_fill_link_cast_o[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_fill_header_li), + .pr_data_o(lce_fill_data_li), + .pr_v_o(lce_fill_v_li), + .pr_ready_and_i(lce_fill_ready_and_lo) + ); + bp_me_lce_id_to_cord #(.bp_params_p(bp_params_p)) fill_router_cord( + .lce_id_i(lce_fill_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)]), + .lce_cord_o(lce_fill_dst_cord_lo), + .lce_cid_o(lce_fill_dst_cid_lo) + ); + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_fill_header_width_lp), + .pr_payload_width_p(lce_fill_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_fill_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_fill_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_fill_header_lo), + .pr_data_i(lce_fill_data_lo), + .pr_v_i(lce_fill_v_lo), + .pr_ready_and_o(lce_fill_ready_and_li), + .dst_cord_i(lce_fill_dst_cord_lo), + .dst_cid_i(lce_fill_dst_cid_lo), + .link_data_o(lce_fill_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_fill_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_fill_link_cast_i[coh_noc_flit_width_p + 0]) + ); + bp_me_cce_id_to_cord #(.bp_params_p(bp_params_p)) resp_router_cord( + .cce_id_i(lce_resp_header_lo[(((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)]), + .cce_cord_o(lce_resp_dst_cord_lo), + .cce_cid_o(lce_resp_dst_cid_lo) + ); + localparam bp_common_pkg_lce_resp_stream_mask_gp = 8; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_resp_header_width_lp), + .pr_payload_width_p(lce_resp_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_resp_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_resp_header_lo), + .pr_data_i(lce_resp_data_lo), + .pr_v_i(lce_resp_v_lo), + .pr_ready_and_o(lce_resp_ready_and_li), + .dst_cord_i(lce_resp_dst_cord_lo), + .dst_cid_i(lce_resp_dst_cid_lo), + .link_data_o(lce_resp_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_resp_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_resp_link_cast_i[coh_noc_flit_width_p + 0]) + ); + assign lce_resp_link_cast_o[coh_noc_flit_width_p + 0] = 1'b0; + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_req_header_width_lp), + .pr_payload_width_p(lce_req_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_req_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_req_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_req_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(lce_req_link_cast_o[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_req_header_li), + .pr_data_o(lce_req_data_li), + .pr_v_o(lce_req_v_li), + .pr_ready_and_i(lce_req_ready_and_lo) + ); + bp_me_lce_id_to_cord #(.bp_params_p(bp_params_p)) cmd_router_cord( + .lce_id_i(lce_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)]), + .lce_cord_o(lce_cmd_dst_cord_lo), + .lce_cid_o(lce_cmd_dst_cid_lo) + ); + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_cmd_header_width_lp), + .pr_payload_width_p(lce_cmd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_cmd_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_cmd_header_lo), + .pr_data_i(lce_cmd_data_lo), + .pr_v_i(lce_cmd_v_lo), + .pr_ready_and_o(lce_cmd_ready_and_li), + .dst_cord_i(lce_cmd_dst_cord_lo), + .dst_cid_i(lce_cmd_dst_cid_lo), + .link_data_o(lce_cmd_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_cmd_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_cmd_link_cast_i[coh_noc_flit_width_p + 0]) + ); +endmodule +module bp_cacc_tile_node ( + core_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + my_cord_i, + coh_lce_req_link_i, + coh_lce_req_link_o, + coh_lce_cmd_link_i, + coh_lce_cmd_link_o, + coh_lce_fill_link_i, + coh_lce_fill_link_o, + coh_lce_resp_link_i, + coh_lce_resp_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + parameter accelerator_type_p = 1; + input core_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_fill_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_fill_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_resp_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_resp_link_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_req_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_req_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_cmd_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_cmd_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_fill_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_fill_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_resp_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_resp_link_lo; + bp_cacc_tile #(.bp_params_p(bp_params_p)) accel_tile( + .clk_i(core_clk_i), + .reset_i(core_reset_i), + .my_cord_i(my_cord_i), + .lce_req_link_i(accel_lce_req_link_li), + .lce_req_link_o(accel_lce_req_link_lo), + .lce_cmd_link_i(accel_lce_cmd_link_li), + .lce_cmd_link_o(accel_lce_cmd_link_lo), + .lce_fill_link_i(accel_lce_fill_link_li), + .lce_fill_link_o(accel_lce_fill_link_lo), + .lce_resp_link_i(accel_lce_resp_link_li), + .lce_resp_link_o(accel_lce_resp_link_lo) + ); + localparam [49:0] bsg_wormhole_router_pkg_StrictYX = 50'b01001100011101111101111110111110111000110010111111; + localparam [49:0] bsg_wormhole_router_pkg_YX_Allow_W = 50'b00010000100000000000000000000000000000001100000000; + bp_nd_socket #( + .flit_width_p(coh_noc_flit_width_p), + .dims_p(coh_noc_dims_p), + .cord_dims_p(coh_noc_dims_p), + .cord_markers_pos_p(coh_noc_cord_markers_pos_p), + .len_width_p(coh_noc_len_width_p), + .routing_matrix_p(bsg_wormhole_router_pkg_StrictYX | bsg_wormhole_router_pkg_YX_Allow_W), + .async_clk_p(async_coh_clk_p), + .els_p(4) + ) cac_coh_socket( + .tile_clk_i(core_clk_i), + .tile_reset_i(core_reset_i), + .network_clk_i(coh_clk_i), + .network_reset_i(coh_reset_i), + .my_cord_i(my_cord_i), + .network_link_i({coh_lce_req_link_i, coh_lce_cmd_link_i, coh_lce_fill_link_i, coh_lce_resp_link_i}), + .network_link_o({coh_lce_req_link_o, coh_lce_cmd_link_o, coh_lce_fill_link_o, coh_lce_resp_link_o}), + .tile_link_i({accel_lce_req_link_lo, accel_lce_cmd_link_lo, accel_lce_fill_link_lo, accel_lce_resp_link_lo}), + .tile_link_o({accel_lce_req_link_li, accel_lce_cmd_link_li, accel_lce_fill_link_li, accel_lce_resp_link_li}) + ); +endmodule +module bp_cacc_complex ( + core_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + coh_req_link_i, + coh_req_link_o, + coh_cmd_link_i, + coh_cmd_link_o, + coh_fill_link_i, + coh_fill_link_o, + coh_resp_link_i, + coh_resp_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + input core_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input [(cac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_req_link_i; + output wire [(cac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_req_link_o; + input [(cac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_cmd_link_i; + output wire [(cac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_cmd_link_o; + input [(cac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_fill_link_i; + output wire [(cac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_fill_link_o; + input [(cac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_resp_link_i; + output wire [(cac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_resp_link_o; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_hor_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_fill_ver_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_fill_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_hor_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_resp_ver_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_resp_ver_link_lo; + genvar _gv_j_17; + function automatic signed [coh_noc_y_cord_width_p - 1:0] sv2v_cast_9155F_signed; + input reg signed [coh_noc_y_cord_width_p - 1:0] inp; + sv2v_cast_9155F_signed = inp; + endfunction + function automatic signed [coh_noc_x_cord_width_p - 1:0] sv2v_cast_0F33E_signed; + input reg signed [coh_noc_x_cord_width_p - 1:0] inp; + sv2v_cast_0F33E_signed = inp; + endfunction + generate + for (_gv_j_17 = 0; _gv_j_17 < cac_y_dim_p; _gv_j_17 = _gv_j_17 + 1) begin : y + localparam j = _gv_j_17; + wire [coh_noc_cord_width_p - 1:0] cord_li = {sv2v_cast_9155F_signed(ic_y_dim_p + j), sv2v_cast_0F33E_signed(sac_x_dim_p + cc_x_dim_p)}; + if (cac_x_dim_p > 0) begin : node + bp_cacc_tile_node #(.bp_params_p(bp_params_p)) accel_tile_node( + .core_clk_i(core_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .my_cord_i(cord_li), + .coh_lce_req_link_i(lce_req_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_resp_link_i(lce_resp_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_i(lce_cmd_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_fill_link_i(lce_fill_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_req_link_o(lce_req_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_resp_link_o(lce_resp_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_o(lce_cmd_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_fill_link_o(lce_fill_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]) + ); + end + else begin : stub + assign lce_req_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + assign lce_cmd_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + assign lce_fill_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + assign lce_resp_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (cac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (cac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + end + end + if (cac_x_dim_p > 0) begin : ac_stitch + assign lce_req_ver_link_li = 1'sb0; + assign lce_req_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p] = 1'sb0; + assign lce_req_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p] = coh_req_link_i; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(cac_x_dim_p), + .y_max_p(cac_y_dim_p) + ) coh_req_mesh( + .outs_i(lce_req_link_lo), + .ins_o(lce_req_link_li), + .hor_i(lce_req_hor_link_li), + .hor_o(lce_req_hor_link_lo), + .ver_i(lce_req_ver_link_li), + .ver_o(lce_req_ver_link_lo) + ); + assign coh_req_link_o = lce_req_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p]; + assign lce_cmd_ver_link_li = 1'sb0; + assign lce_cmd_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p] = 1'sb0; + assign lce_cmd_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p] = coh_cmd_link_i; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(cac_x_dim_p), + .y_max_p(cac_y_dim_p) + ) coh_cmd_mesh( + .outs_i(lce_cmd_link_lo), + .ins_o(lce_cmd_link_li), + .hor_i(lce_cmd_hor_link_li), + .hor_o(lce_cmd_hor_link_lo), + .ver_i(lce_cmd_ver_link_li), + .ver_o(lce_cmd_ver_link_lo) + ); + assign coh_cmd_link_o = lce_cmd_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p]; + assign lce_fill_ver_link_li = 1'sb0; + assign lce_fill_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p] = 1'sb0; + assign lce_fill_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p] = coh_fill_link_i; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(cac_x_dim_p), + .y_max_p(cac_y_dim_p) + ) coh_fill_mesh( + .outs_i(lce_fill_link_lo), + .ins_o(lce_fill_link_li), + .hor_i(lce_fill_hor_link_li), + .hor_o(lce_fill_hor_link_lo), + .ver_i(lce_fill_ver_link_li), + .ver_o(lce_fill_ver_link_lo) + ); + assign coh_fill_link_o = lce_fill_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p]; + assign lce_resp_ver_link_li = 1'sb0; + assign lce_resp_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p] = 1'sb0; + assign lce_resp_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p] = coh_resp_link_i; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(cac_x_dim_p), + .y_max_p(cac_y_dim_p) + ) coh_resp_mesh( + .outs_i(lce_resp_link_lo), + .ins_o(lce_resp_link_li), + .hor_i(lce_resp_hor_link_li), + .hor_o(lce_resp_hor_link_lo), + .ver_i(lce_resp_ver_link_li), + .ver_o(lce_resp_ver_link_lo) + ); + assign coh_resp_link_o = lce_resp_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cac_y_dim_p) + (cac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cac_y_dim_p]; + end + else begin : stub + assign coh_req_link_o = 1'sb0; + assign coh_cmd_link_o = 1'sb0; + assign coh_fill_link_o = 1'sb0; + assign coh_resp_link_o = 1'sb0; + end + endgenerate +endmodule +module bp_sacc_vdp ( + clk_i, + reset_i, + lce_id_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [lce_id_width_p - 1:0] lce_id_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [acache_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [acache_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + wire r_v_li; + wire w_v_li; + wire [paddr_width_p - 1:0] addr_lo; + wire [63:0] data_li; + wire [63:0] data_lo; + bp_me_bedrock_register #( + .bp_params_p(bp_params_p), + .els_p(1), + .reg_addr_width_p(paddr_width_p), + .base_addr_p(64'bzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz) + ) register( + .clk_i(clk_i), + .reset_i(reset_i), + .r_v_o(r_v_li), + .w_v_o(w_v_li), + .addr_o(addr_lo), + .size_o(), + .data_o(data_lo), + .data_i(data_li), + .mem_fwd_header_i(mem_fwd_header_i), + .mem_fwd_data_i(mem_fwd_data_i), + .mem_fwd_v_i(mem_fwd_v_i), + .mem_fwd_ready_and_o(mem_fwd_ready_and_o), + .mem_rev_header_o(mem_rev_header_o), + .mem_rev_data_o(mem_rev_data_o), + .mem_rev_v_o(mem_rev_v_o), + .mem_rev_ready_and_i(mem_rev_ready_and_i) + ); + wire [((((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + bp_common_pkg_tile_id_width_gp) + bp_common_pkg_dev_id_width_gp) + bp_common_pkg_dev_addr_width_gp) - 1:0] local_addr_lo; + wire [((paddr_width_p - daddr_width_p) + daddr_width_p) - 1:0] global_addr_lo; + assign global_addr_lo = addr_lo; + assign local_addr_lo = addr_lo; + reg [63:0] start_cmd; + reg [63:0] input_a_ptr; + reg [63:0] input_b_ptr; + reg [63:0] input_len; + reg [63:0] res_ptr; + reg [63:0] res_len; + reg [63:0] operation; + wire [63:0] spm_data_lo; + wire [63:0] vdp_result; + reg [511:0] vector_a; + reg [511:0] vector_b; + reg [2:0] len_a_cnt; + reg [2:0] len_b_cnt; + reg second_operand; + reg [3:0] state_n; + reg [3:0] state_r; + wire is_done = state_r == 4'd0; + reg spm_internal_r_v_li; + reg spm_internal_w_v_li; + reg [paddr_width_p - 1:0] spm_internal_addr; + reg vector_w_v_li; + always @(posedge clk_i) + if (reset_i || is_done) begin + len_a_cnt <= 1'sb0; + len_b_cnt <= 1'sb0; + vector_a <= 1'sb0; + vector_b <= 1'sb0; + end + else if (vector_w_v_li & ~second_operand) begin + vector_a[len_a_cnt * 64+:64] <= spm_data_lo; + len_a_cnt <= len_a_cnt + 1'b1; + end + else if (vector_w_v_li & second_operand) begin + vector_b[len_b_cnt * 64+:64] <= spm_data_lo; + len_b_cnt <= len_b_cnt + 1'b1; + end + wire csr_w_v_li = w_v_li && (global_addr_lo[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)] == 0); + wire csr_r_v_li = r_v_li && (global_addr_lo[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)] == 0); + wire spm_external_w_v_li = w_v_li && (global_addr_lo[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)] == 1); + wire spm_external_r_v_li = r_v_li && (global_addr_lo[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)] == 1); + wire [paddr_width_p - 1:0] spm_external_addr = addr_lo; + wire [paddr_width_p - 1:0] spm_selected_addr = (spm_external_r_v_li | spm_external_w_v_li ? spm_external_addr : spm_internal_addr); + wire [4:0] spm_addr_li = spm_selected_addr >> 3; + wire [63:0] spm_data_li = (spm_external_w_v_li ? data_lo : vdp_result); + bsg_mem_1rw_sync #( + .width_p(64), + .els_p(20) + ) accel_spm( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(spm_data_li), + .addr_i(spm_addr_li), + .v_i(((spm_internal_r_v_li | spm_external_r_v_li) | spm_internal_w_v_li) | spm_external_w_v_li), + .w_i(spm_internal_w_v_li | spm_external_w_v_li), + .data_o(spm_data_lo) + ); + localparam bp_common_pkg_input_len_csr_idx_gp = 20'h00010; + localparam bp_common_pkg_inputa_ptr_csr_idx_gp = 20'h00000; + localparam bp_common_pkg_inputb_ptr_csr_idx_gp = 20'h00008; + localparam bp_common_pkg_operation_csr_idx_gp = 20'h00038; + localparam bp_common_pkg_res_len_csr_idx_gp = 20'h00030; + localparam bp_common_pkg_res_ptr_csr_idx_gp = 20'h00028; + localparam bp_common_pkg_start_cmd_csr_idx_gp = 20'h00018; + always @(posedge clk_i) begin + if (reset_i) begin + input_a_ptr <= 1'sb0; + input_b_ptr <= 1'sb0; + input_len <= 1'sb0; + start_cmd <= 1'sb0; + res_ptr <= 1'sb0; + res_len <= 1'sb0; + operation <= 1'sb0; + end + else if (csr_w_v_li) + (* full_case, parallel_case *) + casez (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp]) + bp_common_pkg_inputa_ptr_csr_idx_gp: input_a_ptr <= data_lo; + bp_common_pkg_inputb_ptr_csr_idx_gp: input_b_ptr <= data_lo; + bp_common_pkg_input_len_csr_idx_gp: input_len <= data_lo; + bp_common_pkg_start_cmd_csr_idx_gp: start_cmd <= data_lo; + bp_common_pkg_res_ptr_csr_idx_gp: res_ptr <= data_lo; + bp_common_pkg_res_len_csr_idx_gp: res_len <= data_lo; + bp_common_pkg_operation_csr_idx_gp: operation <= data_lo; + default: + ; + endcase + if (state_r == 4'd1) + start_cmd <= 1'sb0; + end + reg [63:0] csr_data_lo; + localparam bp_common_pkg_res_status_csr_idx_gp = 20'h00020; + always @(*) begin + if (_sv2v_0) + ; + (* full_case, parallel_case *) + casez (local_addr_lo[19-:bp_common_pkg_dev_addr_width_gp]) + bp_common_pkg_inputa_ptr_csr_idx_gp: csr_data_lo = input_a_ptr; + bp_common_pkg_inputb_ptr_csr_idx_gp: csr_data_lo = input_b_ptr; + bp_common_pkg_input_len_csr_idx_gp: csr_data_lo = input_len; + bp_common_pkg_start_cmd_csr_idx_gp: csr_data_lo = start_cmd; + bp_common_pkg_res_status_csr_idx_gp: csr_data_lo = is_done; + bp_common_pkg_res_ptr_csr_idx_gp: csr_data_lo = res_ptr; + bp_common_pkg_res_len_csr_idx_gp: csr_data_lo = res_len; + default: csr_data_lo = operation; + endcase + end + reg spm_r_v_r; + always @(posedge clk_i) spm_r_v_r <= spm_external_r_v_li | spm_internal_r_v_li; + assign data_li = (spm_r_v_r ? spm_data_lo : csr_data_lo); + always @(*) begin + if (_sv2v_0) + ; + spm_internal_w_v_li = 1'sb0; + spm_internal_r_v_li = 1'sb0; + spm_internal_addr = 1'sb0; + vector_w_v_li = 1'sb0; + second_operand = 1'sb0; + state_n = state_r; + case (state_r) + 4'd0: state_n = (start_cmd ? 4'd1 : state_r); + 4'd1: begin + spm_internal_r_v_li = 1'sb1; + spm_internal_addr = input_a_ptr + (len_a_cnt * 8); + state_n = 4'd2; + end + 4'd2: begin + vector_w_v_li = 1'b1; + state_n = (len_a_cnt == (input_len - 1) ? 4'd3 : 4'd1); + end + 4'd3: begin + second_operand = 1'b1; + spm_internal_r_v_li = 1'sb1; + spm_internal_addr = input_b_ptr + (len_b_cnt * 8); + state_n = 4'd4; + end + 4'd4: begin + vector_w_v_li = 1'b1; + second_operand = 1'b1; + state_n = (len_b_cnt == (input_len - 1) ? 4'd5 : 4'd3); + end + 4'd5: begin + spm_internal_w_v_li = 1'sb1; + spm_internal_addr = res_ptr; + state_n = 4'd0; + end + endcase + end + wire [511:0] product_res; + wire [255:0] sum_l1; + wire [127:0] sum_l2; + genvar _gv_i_76; + generate + for (_gv_i_76 = 0; _gv_i_76 < 8; _gv_i_76 = _gv_i_76 + 1) begin : genblk1 + localparam i = _gv_i_76; + assign product_res[i * 64+:64] = vector_a[i * 64+:64] * vector_b[i * 64+:64]; + end + endgenerate + genvar _gv_i_77; + generate + for (_gv_i_77 = 0; _gv_i_77 < 4; _gv_i_77 = _gv_i_77 + 1) begin : genblk2 + localparam i = _gv_i_77; + assign sum_l1[i * 64+:64] = product_res[(2 * i) * 64+:64] + product_res[((2 * i) + 1) * 64+:64]; + end + endgenerate + genvar _gv_i_78; + generate + for (_gv_i_78 = 0; _gv_i_78 < 2; _gv_i_78 = _gv_i_78 + 1) begin : genblk3 + localparam i = _gv_i_78; + assign sum_l2[i * 64+:64] = sum_l1[(2 * i) * 64+:64] + sum_l1[((2 * i) + 1) * 64+:64]; + end + endgenerate + assign vdp_result = sum_l2[0+:64] + sum_l2[64+:64]; + always @(posedge clk_i) + if (reset_i) + state_r <= 4'd0; + else + state_r <= state_n; + initial _sv2v_0 = 0; +endmodule +module bp_sacc_scratchpad ( + clk_i, + reset_i, + lce_id_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [lce_id_width_p - 1:0] lce_id_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [acache_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [acache_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + wire r_v_li; + wire w_v_li; + wire [paddr_width_p - 1:0] addr_lo; + wire [63:0] data_li; + wire [63:0] data_lo; + bp_me_bedrock_register #( + .bp_params_p(bp_params_p), + .els_p(1), + .reg_addr_width_p(paddr_width_p), + .base_addr_p(64'bzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz) + ) register( + .clk_i(clk_i), + .reset_i(reset_i), + .r_v_o(r_v_li), + .w_v_o(w_v_li), + .addr_o(addr_lo), + .size_o(), + .data_o(data_lo), + .data_i(data_li), + .mem_fwd_header_i(mem_fwd_header_i), + .mem_fwd_data_i(mem_fwd_data_i), + .mem_fwd_v_i(mem_fwd_v_i), + .mem_fwd_ready_and_o(mem_fwd_ready_and_o), + .mem_rev_header_o(mem_rev_header_o), + .mem_rev_data_o(mem_rev_data_o), + .mem_rev_v_o(mem_rev_v_o), + .mem_rev_ready_and_i(mem_rev_ready_and_i) + ); + wire [((((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + bp_common_pkg_tile_id_width_gp) + bp_common_pkg_dev_id_width_gp) + bp_common_pkg_dev_addr_width_gp) - 1:0] local_addr_lo; + wire [((paddr_width_p - daddr_width_p) + daddr_width_p) - 1:0] global_addr_lo; + assign global_addr_lo = addr_lo; + assign local_addr_lo = addr_lo; + localparam bp_common_pkg_accel_wr_cnt_csr_idx_gp = 20'h00000; + wire csr_w_v_li = w_v_li && (addr_lo == bp_common_pkg_accel_wr_cnt_csr_idx_gp); + wire csr_r_v_li = r_v_li && (addr_lo == bp_common_pkg_accel_wr_cnt_csr_idx_gp); + wire [63:0] csr_data_li = data_lo; + wire spm_w_v_li = w_v_li && (global_addr_lo[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)] == 1); + wire spm_r_v_li = r_v_li && (global_addr_lo[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)] == 1); + wire [63:0] spm_data_li = data_lo; + wire [63:0] spm_data_lo; + wire [4:0] spm_addr_li; + wire [9:0] spm_write_cnt; + bsg_counter_clear_up #( + .max_val_p(1023), + .init_val_p(0) + ) write_counter( + .clk_i(clk_i), + .reset_i(reset_i), + .clear_i(1'b0), + .up_i(spm_w_v_li), + .count_o(spm_write_cnt) + ); + wire [63:0] csr_data_lo = spm_write_cnt; + assign spm_addr_li = addr_lo >> 3; + bsg_mem_1rw_sync #( + .width_p(64), + .els_p(20) + ) accel_spm( + .clk_i(clk_i), + .reset_i(reset_i), + .data_i(spm_data_li), + .addr_i(spm_addr_li), + .v_i(spm_r_v_li | spm_w_v_li), + .w_i(spm_w_v_li), + .data_o(spm_data_lo) + ); + reg spm_r_v_r; + always @(posedge clk_i) spm_r_v_r <= spm_r_v_li; + assign data_li = (spm_r_v_r ? spm_data_lo : csr_data_lo); +endmodule +module bp_sacc_tile ( + clk_i, + reset_i, + my_cord_i, + lce_req_link_i, + lce_req_link_o, + lce_cmd_link_i, + lce_cmd_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam mem_noc_ral_link_width_lp = mem_noc_flit_width_p + 2; + parameter accelerator_type_p = 16'd1; + input clk_i; + input reset_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + input [coh_noc_ral_link_width_lp - 1:0] lce_req_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_req_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_i; + assign lce_req_link_cast_i = lce_req_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_o; + assign lce_req_link_o = lce_req_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_i; + assign lce_cmd_link_cast_i = lce_cmd_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_o; + assign lce_cmd_link_o = lce_cmd_link_cast_o; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_lo; + wire [acache_fill_width_p - 1:0] lce_req_data_lo; + wire lce_req_v_lo; + wire lce_req_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_req_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_req_dst_cid_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_li; + wire [acache_fill_width_p - 1:0] lce_cmd_data_li; + wire lce_cmd_v_li; + wire lce_cmd_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_lo; + wire [acache_fill_width_p - 1:0] lce_cmd_data_lo; + wire lce_cmd_v_lo; + wire lce_cmd_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_cmd_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_cmd_dst_cid_lo; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_li; + wire [acache_fill_width_p - 1:0] lce_req_data_li; + wire lce_req_v_li; + wire lce_req_ready_and_lo; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_lo; + wire [acache_fill_width_p - 1:0] mem_fwd_data_lo; + wire mem_fwd_v_lo; + wire mem_fwd_ready_and_li; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_li; + wire [acache_fill_width_p - 1:0] mem_rev_data_li; + wire mem_rev_v_li; + wire mem_rev_ready_and_lo; + reg reset_r; + always @(posedge clk_i) reset_r <= reset_i; + wire [cce_id_width_p - 1:0] cce_id_li; + wire [lce_id_width_p - 1:0] lce_id_li; + bp_me_cord_to_id #(.bp_params_p(bp_params_p)) id_map( + .cord_i(my_cord_i), + .core_id_o(), + .cce_id_o(cce_id_li), + .lce_id0_o(lce_id_li), + .lce_id1_o() + ); + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_unicore_cfg_p = sv2v_uu_lce_link_bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_lce_link_bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] sv2v_uu_lce_link_bp_common_pkg_all_cfgs_gp = {sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_l2e_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_2_l2e_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_l2e_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_16_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_12_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_8_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_6_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_4_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_3_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_2_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_multicore_1_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_unicore_megaparrot_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_unicore_miniparrot_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_unicore_tinyparrot_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_unicore_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_custom_cfg_p, sv2v_uu_lce_link_bp_common_pkg_bp_default_cfg_p}; + localparam [6:0] sv2v_uu_lce_link_bp_params_p = bp_params_p; + localparam [2687:0] sv2v_uu_lce_link_proc_param_lp = sv2v_uu_lce_link_bp_common_pkg_all_cfgs_gp[sv2v_uu_lce_link_bp_params_p * 2688+:2688]; + localparam sv2v_uu_lce_link_mem_noc_did_width_p = $signed(sv2v_uu_lce_link_proc_param_lp[255-:32]); + localparam sv2v_uu_lce_link_did_width_p = sv2v_uu_lce_link_mem_noc_did_width_p; + localparam sv2v_uu_lce_link_cac_x_dim_p = $signed(sv2v_uu_lce_link_proc_param_lp[2559-:32]); + localparam sv2v_uu_lce_link_cc_y_dim_p = $signed(sv2v_uu_lce_link_proc_param_lp[2655-:32]); + localparam sv2v_uu_lce_link_cac_y_dim_p = sv2v_uu_lce_link_cc_y_dim_p; + localparam sv2v_uu_lce_link_num_cacc_p = sv2v_uu_lce_link_cac_x_dim_p * sv2v_uu_lce_link_cac_y_dim_p; + localparam sv2v_uu_lce_link_cacc_en_p = sv2v_uu_lce_link_num_cacc_p > 32'sd0; + localparam sv2v_uu_lce_link_acache_assoc_p = (sv2v_uu_lce_link_cacc_en_p ? $signed(sv2v_uu_lce_link_proc_param_lp[1279-:32]) : 0); + localparam sv2v_uu_lce_link_dcache_assoc_p = $signed(sv2v_uu_lce_link_proc_param_lp[1503-:32]); + localparam sv2v_uu_lce_link_icache_assoc_p = $signed(sv2v_uu_lce_link_proc_param_lp[1727-:32]); + localparam sv2v_uu_lce_link_lce_assoc_p = (sv2v_uu_lce_link_dcache_assoc_p > (sv2v_uu_lce_link_icache_assoc_p > sv2v_uu_lce_link_acache_assoc_p ? sv2v_uu_lce_link_icache_assoc_p : sv2v_uu_lce_link_acache_assoc_p) ? sv2v_uu_lce_link_dcache_assoc_p : (sv2v_uu_lce_link_icache_assoc_p > sv2v_uu_lce_link_acache_assoc_p ? sv2v_uu_lce_link_icache_assoc_p : sv2v_uu_lce_link_acache_assoc_p)); + localparam sv2v_uu_lce_link_cc_x_dim_p = $signed(sv2v_uu_lce_link_proc_param_lp[2687-:32]); + localparam sv2v_uu_lce_link_num_core_p = sv2v_uu_lce_link_cc_x_dim_p * sv2v_uu_lce_link_cc_y_dim_p; + localparam sv2v_uu_lce_link_ic_x_dim_p = sv2v_uu_lce_link_cc_x_dim_p; + localparam sv2v_uu_lce_link_ic_y_dim_p = $signed(sv2v_uu_lce_link_proc_param_lp[2623-:32]); + localparam sv2v_uu_lce_link_num_io_p = sv2v_uu_lce_link_ic_x_dim_p * sv2v_uu_lce_link_ic_y_dim_p; + localparam sv2v_uu_lce_link_mc_x_dim_p = sv2v_uu_lce_link_cc_x_dim_p; + localparam sv2v_uu_lce_link_mc_y_dim_p = $signed(sv2v_uu_lce_link_proc_param_lp[2591-:32]); + localparam sv2v_uu_lce_link_num_l2e_p = sv2v_uu_lce_link_mc_x_dim_p * sv2v_uu_lce_link_mc_y_dim_p; + localparam sv2v_uu_lce_link_sac_x_dim_p = $signed(sv2v_uu_lce_link_proc_param_lp[2527-:32]); + localparam sv2v_uu_lce_link_sac_y_dim_p = sv2v_uu_lce_link_cc_y_dim_p; + localparam sv2v_uu_lce_link_num_sacc_p = sv2v_uu_lce_link_sac_x_dim_p * sv2v_uu_lce_link_sac_y_dim_p; + localparam sv2v_uu_lce_link_num_pseudo_lce_p = (((((2 * sv2v_uu_lce_link_num_core_p) + sv2v_uu_lce_link_num_io_p) + sv2v_uu_lce_link_num_l2e_p) + sv2v_uu_lce_link_num_cacc_p) + sv2v_uu_lce_link_num_sacc_p) + 1; + localparam sv2v_uu_lce_link_lce_id_width_p = ((sv2v_uu_lce_link_num_pseudo_lce_p == 1) || (sv2v_uu_lce_link_num_pseudo_lce_p == 0) ? 1 : $clog2(sv2v_uu_lce_link_num_pseudo_lce_p)); + localparam sv2v_uu_lce_link_mem_fwd_payload_width_lp = (((3 + sv2v_uu_lce_link_lce_id_width_p) + ((sv2v_uu_lce_link_lce_assoc_p == 1) || (sv2v_uu_lce_link_lce_assoc_p == 0) ? 1 : $clog2(sv2v_uu_lce_link_lce_assoc_p))) + 3) + sv2v_uu_lce_link_did_width_p; + localparam sv2v_uu_lce_link_paddr_width_p = $signed(sv2v_uu_lce_link_proc_param_lp[2335-:32]); + localparam sv2v_uu_lce_link_mem_fwd_header_width_lp = ((8 + sv2v_uu_lce_link_paddr_width_p) + 3) + sv2v_uu_lce_link_mem_fwd_payload_width_lp; + localparam [sv2v_uu_lce_link_mem_fwd_header_width_lp - 1:0] sv2v_uu_lce_link_ext_mem_fwd_header_i_0 = 1'sb0; + localparam sv2v_uu_lce_link_bedrock_fill_width_p = $signed(sv2v_uu_lce_link_proc_param_lp[1023-:32]); + localparam [sv2v_uu_lce_link_bedrock_fill_width_p - 1:0] sv2v_uu_lce_link_ext_mem_fwd_data_i_0 = 1'sb0; + bp_io_link_to_lce #(.bp_params_p(bp_params_p)) lce_link( + .clk_i(clk_i), + .reset_i(reset_r), + .lce_id_i(lce_id_li), + .mem_fwd_header_i(sv2v_uu_lce_link_ext_mem_fwd_header_i_0), + .mem_fwd_data_i(sv2v_uu_lce_link_ext_mem_fwd_data_i_0), + .mem_fwd_v_i(1'b0), + .mem_fwd_ready_and_o(), + .mem_rev_header_o(), + .mem_rev_data_o(), + .mem_rev_v_o(), + .mem_rev_ready_and_i(1'b0), + .lce_req_header_o(lce_req_header_lo), + .lce_req_data_o(lce_req_data_lo), + .lce_req_v_o(lce_req_v_lo), + .lce_req_ready_and_i(lce_req_ready_and_li), + .lce_cmd_header_i(lce_cmd_header_li), + .lce_cmd_data_i(lce_cmd_data_li), + .lce_cmd_v_i(lce_cmd_v_li), + .lce_cmd_ready_and_o(lce_cmd_ready_and_lo) + ); + bp_io_cce #(.bp_params_p(bp_params_p)) io_cce( + .clk_i(clk_i), + .reset_i(reset_r), + .cce_id_i(cce_id_li), + .lce_req_header_i(lce_req_header_li), + .lce_req_data_i(lce_req_data_li), + .lce_req_v_i(lce_req_v_li), + .lce_req_ready_and_o(lce_req_ready_and_lo), + .lce_cmd_header_o(lce_cmd_header_lo), + .lce_cmd_data_o(lce_cmd_data_lo), + .lce_cmd_v_o(lce_cmd_v_lo), + .lce_cmd_ready_and_i(lce_cmd_ready_and_li), + .mem_fwd_header_o(mem_fwd_header_lo), + .mem_fwd_data_o(mem_fwd_data_lo), + .mem_fwd_v_o(mem_fwd_v_lo), + .mem_fwd_ready_and_i(mem_fwd_ready_and_li), + .mem_rev_header_i(mem_rev_header_li), + .mem_rev_data_i(mem_rev_data_li), + .mem_rev_v_i(mem_rev_v_li), + .mem_rev_ready_and_o(mem_rev_ready_and_lo) + ); + generate + if (sacc_type_p == 16'd1) begin : sacc_vdp + bp_sacc_vdp #(.bp_params_p(bp_params_p)) accelerator( + .clk_i(clk_i), + .reset_i(reset_r), + .lce_id_i(lce_id_li), + .mem_fwd_header_i(mem_fwd_header_lo), + .mem_fwd_data_i(mem_fwd_data_lo), + .mem_fwd_v_i(mem_fwd_v_lo), + .mem_fwd_ready_and_o(mem_fwd_ready_and_li), + .mem_rev_header_o(mem_rev_header_li), + .mem_rev_data_o(mem_rev_data_li), + .mem_rev_v_o(mem_rev_v_li), + .mem_rev_ready_and_i(mem_rev_ready_and_lo) + ); + end + else if (sacc_type_p == 16'd2) begin : sacc_scratchpad + bp_sacc_scratchpad #(.bp_params_p(bp_params_p)) accelerator( + .clk_i(clk_i), + .reset_i(reset_r), + .lce_id_i(lce_id_li), + .mem_fwd_header_i(mem_fwd_header_lo), + .mem_fwd_data_i(mem_fwd_data_lo), + .mem_fwd_v_i(mem_fwd_v_lo), + .mem_fwd_ready_and_o(mem_fwd_ready_and_li), + .mem_rev_header_o(mem_rev_header_li), + .mem_rev_data_o(mem_rev_data_li), + .mem_rev_v_o(mem_rev_v_li), + .mem_rev_ready_and_i(mem_rev_ready_and_lo) + ); + end + else begin : none + assign mem_fwd_ready_and_li = 1'b0; + assign mem_rev_header_li = 1'sb0; + assign mem_rev_data_li = 1'sb0; + assign mem_rev_v_li = 1'b0; + end + endgenerate + bp_me_cce_id_to_cord #(.bp_params_p(bp_params_p)) req_router_cord( + .cce_id_i(lce_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)]), + .cce_cord_o(lce_req_dst_cord_lo), + .cce_cid_o(lce_req_dst_cid_lo) + ); + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_req_header_width_lp), + .pr_payload_width_p(lce_req_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_req_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_req_header_lo), + .pr_data_i(lce_req_data_lo), + .pr_v_i(lce_req_v_lo), + .pr_ready_and_o(lce_req_ready_and_li), + .dst_cord_i(lce_req_dst_cord_lo), + .dst_cid_i(lce_req_dst_cid_lo), + .link_data_o(lce_req_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_req_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_req_link_cast_i[coh_noc_flit_width_p + 0]) + ); + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_cmd_header_width_lp), + .pr_payload_width_p(lce_cmd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_cmd_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_cmd_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_cmd_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(lce_cmd_link_cast_o[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_cmd_header_li), + .pr_data_o(lce_cmd_data_li), + .pr_v_o(lce_cmd_v_li), + .pr_ready_and_i(lce_cmd_ready_and_lo) + ); + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_req_header_width_lp), + .pr_payload_width_p(lce_req_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_req_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_req_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_req_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(lce_req_link_cast_o[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_req_header_li), + .pr_data_o(lce_req_data_li), + .pr_v_o(lce_req_v_li), + .pr_ready_and_i(lce_req_ready_and_lo) + ); + bp_me_lce_id_to_cord #(.bp_params_p(bp_params_p)) cmd_router_cord( + .lce_id_i(lce_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)]), + .lce_cord_o(lce_cmd_dst_cord_lo), + .lce_cid_o(lce_cmd_dst_cid_lo) + ); + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_cmd_header_width_lp), + .pr_payload_width_p(lce_cmd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .pr_data_width_p(acache_fill_width_p) + ) lce_cmd_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_cmd_header_lo), + .pr_data_i(lce_cmd_data_lo), + .pr_v_i(lce_cmd_v_lo), + .pr_ready_and_o(lce_cmd_ready_and_li), + .dst_cord_i(lce_cmd_dst_cord_lo), + .dst_cid_i(lce_cmd_dst_cid_lo), + .link_data_o(lce_cmd_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_cmd_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_cmd_link_cast_i[coh_noc_flit_width_p + 0]) + ); +endmodule +module bp_sacc_tile_node ( + core_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + my_cord_i, + coh_lce_req_link_i, + coh_lce_req_link_o, + coh_lce_cmd_link_i, + coh_lce_cmd_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + parameter accelerator_type_p = 1; + input core_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_req_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_req_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_cmd_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] accel_lce_cmd_link_lo; + bp_sacc_tile #(.bp_params_p(bp_params_p)) accel_tile( + .clk_i(core_clk_i), + .reset_i(core_reset_i), + .my_cord_i(my_cord_i), + .lce_req_link_i(accel_lce_req_link_li), + .lce_req_link_o(accel_lce_req_link_lo), + .lce_cmd_link_i(accel_lce_cmd_link_li), + .lce_cmd_link_o(accel_lce_cmd_link_lo) + ); + localparam [49:0] bsg_wormhole_router_pkg_StrictYX = 50'b01001100011101111101111110111110111000110010111111; + bp_nd_socket #( + .flit_width_p(coh_noc_flit_width_p), + .dims_p(coh_noc_dims_p), + .cord_dims_p(coh_noc_dims_p), + .cord_markers_pos_p(coh_noc_cord_markers_pos_p), + .len_width_p(coh_noc_len_width_p), + .routing_matrix_p(bsg_wormhole_router_pkg_StrictYX), + .async_clk_p(async_coh_clk_p), + .els_p(2) + ) sac_coh_socket( + .tile_clk_i(core_clk_i), + .tile_reset_i(core_reset_i), + .network_clk_i(coh_clk_i), + .network_reset_i(coh_reset_i), + .my_cord_i(my_cord_i), + .network_link_i({coh_lce_req_link_i, coh_lce_cmd_link_i}), + .network_link_o({coh_lce_req_link_o, coh_lce_cmd_link_o}), + .tile_link_i({accel_lce_req_link_lo, accel_lce_cmd_link_lo}), + .tile_link_o({accel_lce_req_link_li, accel_lce_cmd_link_li}) + ); +endmodule +module bp_sacc_complex ( + core_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + coh_req_link_i, + coh_req_link_o, + coh_cmd_link_i, + coh_cmd_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + input core_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input [(sac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_req_link_i; + output wire [(sac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_req_link_o; + input [(sac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_cmd_link_i; + output wire [(sac_y_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_cmd_link_o; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 3) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_lo; + genvar _gv_j_18; + function automatic signed [coh_noc_y_cord_width_p - 1:0] sv2v_cast_9155F_signed; + input reg signed [coh_noc_y_cord_width_p - 1:0] inp; + sv2v_cast_9155F_signed = inp; + endfunction + function automatic signed [coh_noc_x_cord_width_p - 1:0] sv2v_cast_0F33E_signed; + input reg signed [coh_noc_x_cord_width_p - 1:0] inp; + sv2v_cast_0F33E_signed = inp; + endfunction + generate + for (_gv_j_18 = 0; _gv_j_18 < sac_y_dim_p; _gv_j_18 = _gv_j_18 + 1) begin : y + localparam j = _gv_j_18; + wire [coh_noc_cord_width_p - 1:0] cord_li = {sv2v_cast_9155F_signed(ic_y_dim_p + j), sv2v_cast_0F33E_signed(sac_x_dim_p - 1)}; + if (sac_x_dim_p > 0) begin : node + bp_sacc_tile_node #(.bp_params_p(bp_params_p)) accel_tile_node( + .core_clk_i(core_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .my_cord_i(cord_li), + .coh_lce_req_link_i(lce_req_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_i(lce_cmd_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_req_link_o(lce_req_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_o(lce_cmd_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]) + ); + end + else begin : stub + assign lce_req_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + assign lce_cmd_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sac_y_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (sac_y_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + end + end + if (sac_x_dim_p > 0) begin : sac_stitch + assign lce_req_ver_link_li = 1'sb0; + assign lce_req_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * sac_y_dim_p] = 1'sb0; + assign lce_req_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * sac_y_dim_p] = coh_req_link_i; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(sac_x_dim_p), + .y_max_p(sac_y_dim_p) + ) coh_req_mesh( + .outs_i(lce_req_link_lo), + .ins_o(lce_req_link_li), + .hor_i(lce_req_hor_link_li), + .hor_o(lce_req_hor_link_lo), + .ver_i(lce_req_ver_link_li), + .ver_o(lce_req_ver_link_lo) + ); + assign coh_req_link_o = lce_req_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * sac_y_dim_p]; + assign lce_cmd_ver_link_li = 1'sb0; + assign lce_cmd_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * sac_y_dim_p] = 1'sb0; + assign lce_cmd_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * sac_y_dim_p] = coh_cmd_link_i; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(sac_x_dim_p), + .y_max_p(sac_y_dim_p) + ) coh_cmd_mesh( + .outs_i(lce_cmd_link_lo), + .ins_o(lce_cmd_link_li), + .hor_i(lce_cmd_hor_link_li), + .hor_o(lce_cmd_hor_link_lo), + .ver_i(lce_cmd_ver_link_li), + .ver_o(lce_cmd_ver_link_lo) + ); + assign coh_cmd_link_o = lce_cmd_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * sac_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * sac_y_dim_p) + (sac_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * sac_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * sac_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * sac_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * sac_y_dim_p]; + end + else begin : stub + assign coh_req_link_o = 1'sb0; + assign coh_cmd_link_o = 1'sb0; + end + endgenerate +endmodule +module bp_core ( + clk_i, + rt_clk_i, + reset_i, + cfg_bus_o, + cce_ucode_v_o, + cce_ucode_w_o, + cce_ucode_addr_o, + cce_ucode_data_o, + cce_ucode_data_i, + my_did_i, + host_did_i, + my_cord_i, + lce_req_header_o, + lce_req_data_o, + lce_req_v_o, + lce_req_ready_and_i, + lce_cmd_header_i, + lce_cmd_data_i, + lce_cmd_v_i, + lce_cmd_ready_and_o, + lce_fill_header_i, + lce_fill_data_i, + lce_fill_v_i, + lce_fill_ready_and_o, + lce_fill_header_o, + lce_fill_data_o, + lce_fill_v_o, + lce_fill_ready_and_i, + lce_resp_header_o, + lce_resp_data_o, + lce_resp_v_o, + lce_resp_ready_and_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i, + dma_pkt_o, + dma_pkt_v_o, + dma_pkt_ready_and_i, + dma_data_i, + dma_data_v_i, + dma_data_ready_and_o, + dma_data_o, + dma_data_v_o, + dma_data_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam dma_pkt_width_lp = (1 + daddr_width_p) + l2_block_size_in_words_p; + input clk_i; + input rt_clk_i; + input reset_i; + output wire [cfg_bus_width_lp - 1:0] cfg_bus_o; + output wire cce_ucode_v_o; + output wire cce_ucode_w_o; + output wire [cce_pc_width_p - 1:0] cce_ucode_addr_o; + localparam bp_me_pkg_cce_instr_width_gp = 34; + output wire [33:0] cce_ucode_data_o; + input [33:0] cce_ucode_data_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [mem_noc_did_width_p - 1:0] host_did_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + output wire [(2 * lce_req_header_width_lp) - 1:0] lce_req_header_o; + output wire [(2 * icache_fill_width_p) - 1:0] lce_req_data_o; + output wire [1:0] lce_req_v_o; + input [1:0] lce_req_ready_and_i; + input [(2 * lce_cmd_header_width_lp) - 1:0] lce_cmd_header_i; + input [(2 * icache_fill_width_p) - 1:0] lce_cmd_data_i; + input [1:0] lce_cmd_v_i; + output wire [1:0] lce_cmd_ready_and_o; + input [(2 * lce_fill_header_width_lp) - 1:0] lce_fill_header_i; + input [(2 * icache_fill_width_p) - 1:0] lce_fill_data_i; + input [1:0] lce_fill_v_i; + output wire [1:0] lce_fill_ready_and_o; + output wire [(2 * lce_fill_header_width_lp) - 1:0] lce_fill_header_o; + output wire [(2 * icache_fill_width_p) - 1:0] lce_fill_data_o; + output wire [1:0] lce_fill_v_o; + input [1:0] lce_fill_ready_and_i; + output wire [(2 * lce_resp_header_width_lp) - 1:0] lce_resp_header_o; + output wire [(2 * icache_fill_width_p) - 1:0] lce_resp_data_o; + output wire [1:0] lce_resp_v_o; + input [1:0] lce_resp_ready_and_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + output wire [((l2_slices_p * l2_banks_p) * dma_pkt_width_lp) - 1:0] dma_pkt_o; + output wire [(l2_slices_p * l2_banks_p) - 1:0] dma_pkt_v_o; + input [(l2_slices_p * l2_banks_p) - 1:0] dma_pkt_ready_and_i; + input [((l2_slices_p * l2_banks_p) * l2_fill_width_p) - 1:0] dma_data_i; + input [(l2_slices_p * l2_banks_p) - 1:0] dma_data_v_i; + output wire [(l2_slices_p * l2_banks_p) - 1:0] dma_data_ready_and_o; + output wire [((l2_slices_p * l2_banks_p) * l2_fill_width_p) - 1:0] dma_data_o; + output wire [(l2_slices_p * l2_banks_p) - 1:0] dma_data_v_o; + input [(l2_slices_p * l2_banks_p) - 1:0] dma_data_ready_and_i; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + localparam cce_proc_id_lp = 0; + localparam num_proc_lp = 1; + localparam lg_num_proc_lp = 1; + localparam cfg_dev_id_lp = 0; + localparam clint_dev_id_lp = 1; + localparam l2s_dev_base_id_lp = 2; + localparam loopback_dev_id_lp = l2s_dev_base_id_lp + l2_slices_p; + localparam num_dev_lp = loopback_dev_id_lp + 1; + localparam lg_num_dev_lp = ((num_dev_lp == 1) || (num_dev_lp == 0) ? 1 : $clog2(num_dev_lp)); + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7 : (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] proc_fwd_header_lo; + wire [bedrock_fill_width_p - 1:0] proc_fwd_data_lo; + wire [0:0] proc_fwd_v_lo; + wire [0:0] proc_fwd_ready_and_li; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7 : (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] proc_rev_header_li; + wire [bedrock_fill_width_p - 1:0] proc_rev_data_li; + wire [0:0] proc_rev_v_li; + wire [0:0] proc_rev_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (num_dev_lp * ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8)) - 1 : (num_dev_lp * (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] dev_fwd_header_li; + wire [(num_dev_lp * bedrock_fill_width_p) - 1:0] dev_fwd_data_li; + wire [num_dev_lp - 1:0] dev_fwd_v_li; + wire [num_dev_lp - 1:0] dev_fwd_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (num_dev_lp * ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8)) - 1 : (num_dev_lp * (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] dev_rev_header_lo; + wire [(num_dev_lp * bedrock_fill_width_p) - 1:0] dev_rev_data_lo; + wire [num_dev_lp - 1:0] dev_rev_v_lo; + wire [num_dev_lp - 1:0] dev_rev_ready_and_li; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_lo; + wire debug_irq_li; + wire timer_irq_li; + wire software_irq_li; + wire m_external_irq_li; + wire s_external_irq_li; + bp_core_lite #(.bp_params_p(bp_params_p)) core_lite( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_lo), + .lce_req_header_o(lce_req_header_o), + .lce_req_data_o(lce_req_data_o), + .lce_req_v_o(lce_req_v_o), + .lce_req_ready_and_i(lce_req_ready_and_i), + .lce_cmd_header_i(lce_cmd_header_i), + .lce_cmd_data_i(lce_cmd_data_i), + .lce_cmd_v_i(lce_cmd_v_i), + .lce_cmd_ready_and_o(lce_cmd_ready_and_o), + .lce_resp_header_o(lce_resp_header_o), + .lce_resp_data_o(lce_resp_data_o), + .lce_resp_v_o(lce_resp_v_o), + .lce_resp_ready_and_i(lce_resp_ready_and_i), + .lce_fill_header_i(lce_fill_header_i), + .lce_fill_data_i(lce_fill_data_i), + .lce_fill_v_i(lce_fill_v_i), + .lce_fill_ready_and_o(lce_fill_ready_and_o), + .lce_fill_header_o(lce_fill_header_o), + .lce_fill_data_o(lce_fill_data_o), + .lce_fill_v_o(lce_fill_v_o), + .lce_fill_ready_and_i(lce_fill_ready_and_i), + .debug_irq_i(debug_irq_li), + .timer_irq_i(timer_irq_li), + .software_irq_i(software_irq_li), + .m_external_irq_i(m_external_irq_li), + .s_external_irq_i(s_external_irq_li) + ); + assign proc_fwd_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))] = mem_fwd_header_i; + assign proc_fwd_data_lo[0+:bedrock_fill_width_p] = mem_fwd_data_i; + assign proc_fwd_v_lo[cce_proc_id_lp] = mem_fwd_v_i; + assign mem_fwd_ready_and_o = proc_fwd_ready_and_li[cce_proc_id_lp]; + assign mem_rev_header_o = proc_rev_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]; + assign mem_rev_data_o = proc_rev_data_li[0+:bedrock_fill_width_p]; + assign mem_rev_v_o = proc_rev_v_li[cce_proc_id_lp]; + assign proc_rev_ready_and_lo[cce_proc_id_lp] = mem_rev_ready_and_i; + wire [lg_num_dev_lp - 1:0] proc_fwd_dst_lo; + genvar _gv_i_79; + localparam bp_common_pkg_cfg_dev_gp = 2; + localparam bp_common_pkg_clint_dev_gp = 3; + localparam bp_common_pkg_dram_base_addr_gp = 40'h0080000000; + generate + for (_gv_i_79 = 0; _gv_i_79 < num_proc_lp; _gv_i_79 = _gv_i_79 + 1) begin : fwd_dest + localparam i = _gv_i_79; + wire [((((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + bp_common_pkg_tile_id_width_gp) + bp_common_pkg_dev_id_width_gp) + bp_common_pkg_dev_addr_width_gp) - 1:0] local_addr; + assign local_addr = proc_fwd_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? paddr_width_p + 7 : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (paddr_width_p + 7)) : (((i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? paddr_width_p + 7 : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (paddr_width_p + 7))) + ((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))) - 1)-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + wire [3:0] device_fwd_li = local_addr[23-:4]; + wire is_local = local_addr < bp_common_pkg_dram_base_addr_gp; + wire is_cfg_fwd = is_local & (device_fwd_li == bp_common_pkg_cfg_dev_gp); + wire is_clint_fwd = is_local & (device_fwd_li == bp_common_pkg_clint_dev_gp); + wire is_l2s_fwd = ~is_local; + wire is_loopback_fwd = ((is_local & ~is_cfg_fwd) & ~is_clint_fwd) & ~is_l2s_fwd; + localparam lg_l2_slices_lp = ((l2_slices_p == 1) || (l2_slices_p == 0) ? 1 : $clog2(l2_slices_p)); + wire [lg_l2_slices_lp - 1:0] slice_id; + bp_me_dram_hash_encode #(.bp_params_p(bp_params_p)) slice_select( + .paddr_i(local_addr), + .data_i(), + .dram_o(), + .daddr_o(), + .slice_o(slice_id), + .bank_o(), + .data_o() + ); + wire [l2_slices_p - 1:0] is_l2s_slice_fwd; + bsg_decode_with_v #(.num_out_p(l2_slices_p)) slice_decode( + .i(slice_id), + .v_i(is_l2s_fwd), + .o(is_l2s_slice_fwd) + ); + wire [num_dev_lp - 1:0] proc_fwd_dst_sel = (((is_cfg_fwd << cfg_dev_id_lp) | (is_clint_fwd << clint_dev_id_lp)) | (is_l2s_slice_fwd << l2s_dev_base_id_lp)) | (is_loopback_fwd << loopback_dev_id_lp); + bsg_encode_one_hot #( + .width_p(num_dev_lp), + .lo_to_hi_p(1) + ) fwd_pe( + .i(proc_fwd_dst_sel), + .addr_o(proc_fwd_dst_lo[i * lg_num_dev_lp+:lg_num_dev_lp]), + .v_o() + ); + end + endgenerate + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + bp_me_xbar_stream #( + .bp_params_p(bp_params_p), + .payload_width_p(mem_fwd_payload_width_lp), + .stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .num_source_p(num_proc_lp), + .num_sink_p(num_dev_lp) + ) fwd_xbar( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(proc_fwd_header_lo), + .msg_data_i(proc_fwd_data_lo), + .msg_v_i(proc_fwd_v_lo), + .msg_ready_and_o(proc_fwd_ready_and_li), + .msg_dst_i(proc_fwd_dst_lo), + .msg_header_o(dev_fwd_header_li), + .msg_data_o(dev_fwd_data_li), + .msg_v_o(dev_fwd_v_li), + .msg_ready_and_i(dev_fwd_ready_and_lo) + ); + wire [num_dev_lp - 1:0] dev_rev_dst_lo = 1'sb0; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_xbar_stream #( + .bp_params_p(bp_params_p), + .payload_width_p(mem_rev_payload_width_lp), + .stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .num_source_p(num_dev_lp), + .num_sink_p(num_proc_lp) + ) rev_xbar( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(dev_rev_header_lo), + .msg_data_i(dev_rev_data_lo), + .msg_v_i(dev_rev_v_lo), + .msg_ready_and_o(dev_rev_ready_and_li), + .msg_dst_i(dev_rev_dst_lo), + .msg_header_o(proc_rev_header_li), + .msg_data_o(proc_rev_data_li), + .msg_v_o(proc_rev_v_li), + .msg_ready_and_i(proc_rev_ready_and_lo) + ); + bp_me_cfg_slice #(.bp_params_p(bp_params_p)) cfgs( + .clk_i(clk_i), + .reset_i(reset_i), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[0+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[cfg_dev_id_lp]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[cfg_dev_id_lp]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[0+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[cfg_dev_id_lp]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[cfg_dev_id_lp]), + .cfg_bus_o(cfg_bus_lo), + .did_i(my_did_i), + .host_did_i(host_did_i), + .cord_i(my_cord_i), + .cce_ucode_v_o(cce_ucode_v_o), + .cce_ucode_w_o(cce_ucode_w_o), + .cce_ucode_addr_o(cce_ucode_addr_o), + .cce_ucode_data_o(cce_ucode_data_o), + .cce_ucode_data_i(cce_ucode_data_i) + ); + assign cfg_bus_o = cfg_bus_lo; + bp_me_clint_slice #(.bp_params_p(bp_params_p)) clints( + .clk_i(clk_i), + .rt_clk_i(rt_clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_lo), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (clint_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[clint_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[clint_dev_id_lp]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[clint_dev_id_lp]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (clint_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[clint_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[clint_dev_id_lp]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[clint_dev_id_lp]), + .debug_irq_o(debug_irq_li), + .timer_irq_o(timer_irq_li), + .software_irq_o(software_irq_li), + .m_external_irq_o(m_external_irq_li), + .s_external_irq_o(s_external_irq_li) + ); + genvar _gv_i_80; + generate + for (_gv_i_80 = 0; _gv_i_80 < l2_slices_p; _gv_i_80 = _gv_i_80 + 1) begin : slices + localparam i = _gv_i_80; + bp_me_cache_slice #(.bp_params_p(bp_params_p)) l2s( + .clk_i(clk_i), + .reset_i(reset_i), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + ((l2s_dev_base_id_lp + i) * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[(l2s_dev_base_id_lp + i) * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[l2s_dev_base_id_lp + i]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[l2s_dev_base_id_lp + i]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + ((l2s_dev_base_id_lp + i) * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[(l2s_dev_base_id_lp + i) * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[l2s_dev_base_id_lp + i]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[l2s_dev_base_id_lp + i]), + .dma_pkt_o(dma_pkt_o[dma_pkt_width_lp * (i * l2_banks_p)+:dma_pkt_width_lp * l2_banks_p]), + .dma_pkt_v_o(dma_pkt_v_o[i * l2_banks_p+:l2_banks_p]), + .dma_pkt_ready_and_i(dma_pkt_ready_and_i[i * l2_banks_p+:l2_banks_p]), + .dma_data_i(dma_data_i[l2_fill_width_p * (i * l2_banks_p)+:l2_fill_width_p * l2_banks_p]), + .dma_data_v_i(dma_data_v_i[i * l2_banks_p+:l2_banks_p]), + .dma_data_ready_and_o(dma_data_ready_and_o[i * l2_banks_p+:l2_banks_p]), + .dma_data_o(dma_data_o[l2_fill_width_p * (i * l2_banks_p)+:l2_fill_width_p * l2_banks_p]), + .dma_data_v_o(dma_data_v_o[i * l2_banks_p+:l2_banks_p]), + .dma_data_ready_and_i(dma_data_ready_and_i[i * l2_banks_p+:l2_banks_p]) + ); + end + endgenerate + bp_me_loopback #(.bp_params_p(bp_params_p)) loopback( + .clk_i(clk_i), + .reset_i(reset_i), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (loopback_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[loopback_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[loopback_dev_id_lp]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[loopback_dev_id_lp]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (loopback_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[loopback_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[loopback_dev_id_lp]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[loopback_dev_id_lp]) + ); +endmodule +module bp_core_lite ( + clk_i, + reset_i, + cfg_bus_i, + lce_req_header_o, + lce_req_data_o, + lce_req_v_o, + lce_req_ready_and_i, + lce_cmd_header_i, + lce_cmd_data_i, + lce_cmd_v_i, + lce_cmd_ready_and_o, + lce_fill_header_i, + lce_fill_data_i, + lce_fill_v_i, + lce_fill_ready_and_o, + lce_fill_header_o, + lce_fill_data_o, + lce_fill_v_o, + lce_fill_ready_and_i, + lce_resp_header_o, + lce_resp_data_o, + lce_resp_v_o, + lce_resp_ready_and_i, + debug_irq_i, + timer_irq_i, + software_irq_i, + m_external_irq_i, + s_external_irq_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam fe_queue_width_lp = (((3 + branch_metadata_fwd_width_p) + fetch_width_p) + fetch_ptr_p) + vaddr_width_p; + localparam fe_cmd_width_lp = (vaddr_width_p + 3) + (1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))); + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam icache_req_width_lp = ((((icache_req_id_width_p + 1) + icache_data_width_p) + 3) + paddr_width_p) + 8; + localparam icache_req_metadata_width_lp = ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p)) + 1; + localparam icache_data_mem_pkt_width_lp = (((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + icache_fill_width_p) + (icache_block_width_p / icache_fill_width_p)) + 2; + localparam icache_tag_mem_pkt_width_lp = (((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 3) + icache_tag_width_p) + 3; + localparam icache_tag_info_width_lp = 3 + icache_tag_width_p; + localparam icache_stat_mem_pkt_width_lp = (((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 2; + localparam icache_stat_info_width_lp = (2 > ((2 * icache_assoc_p) - 1) ? 2 : (2 * icache_assoc_p) - 1); + localparam dcache_req_width_lp = ((((dcache_req_id_width_p + 1) + dcache_data_width_p) + 3) + paddr_width_p) + 8; + localparam dcache_req_metadata_width_lp = ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p)) + 1; + localparam dcache_data_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + dcache_fill_width_p) + (dcache_block_width_p / dcache_fill_width_p)) + 2; + localparam dcache_tag_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 3) + dcache_tag_width_p) + 3; + localparam dcache_tag_info_width_lp = 3 + dcache_tag_width_p; + localparam dcache_stat_mem_pkt_width_lp = (((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 2; + localparam dcache_stat_info_width_lp = (2 > ((2 * dcache_assoc_p) - 1) ? 2 : (2 * dcache_assoc_p) - 1); + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + output wire [(2 * lce_req_header_width_lp) - 1:0] lce_req_header_o; + output wire [(2 * icache_fill_width_p) - 1:0] lce_req_data_o; + output wire [1:0] lce_req_v_o; + input [1:0] lce_req_ready_and_i; + input [(2 * lce_cmd_header_width_lp) - 1:0] lce_cmd_header_i; + input [(2 * icache_fill_width_p) - 1:0] lce_cmd_data_i; + input [1:0] lce_cmd_v_i; + output wire [1:0] lce_cmd_ready_and_o; + input [(2 * lce_fill_header_width_lp) - 1:0] lce_fill_header_i; + input [(2 * icache_fill_width_p) - 1:0] lce_fill_data_i; + input [1:0] lce_fill_v_i; + output wire [1:0] lce_fill_ready_and_o; + output wire [(2 * lce_fill_header_width_lp) - 1:0] lce_fill_header_o; + output wire [(2 * icache_fill_width_p) - 1:0] lce_fill_data_o; + output wire [1:0] lce_fill_v_o; + input [1:0] lce_fill_ready_and_i; + output wire [(2 * lce_resp_header_width_lp) - 1:0] lce_resp_header_o; + output wire [(2 * icache_fill_width_p) - 1:0] lce_resp_data_o; + output wire [1:0] lce_resp_v_o; + input [1:0] lce_resp_ready_and_i; + input debug_irq_i; + input timer_irq_i; + input software_irq_i; + input m_external_irq_i; + input s_external_irq_i; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire [((((icache_req_id_width_p + 1) + icache_data_width_p) + 3) + paddr_width_p) + 7:0] icache_req_lo; + wire icache_req_v_lo; + wire icache_req_yumi_li; + wire icache_req_lock_li; + wire [((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p)) + 0:0] icache_req_metadata_lo; + wire icache_req_metadata_v_lo; + wire [icache_req_id_width_p - 1:0] icache_req_id_li; + wire icache_req_critical_li; + wire icache_req_last_li; + wire icache_req_credits_full_li; + wire icache_req_credits_empty_li; + wire [((((dcache_req_id_width_p + 1) + dcache_data_width_p) + 3) + paddr_width_p) + 7:0] dcache_req_lo; + wire dcache_req_v_lo; + wire dcache_req_yumi_li; + wire dcache_req_lock_li; + wire [((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p)) + 0:0] dcache_req_metadata_lo; + wire dcache_req_metadata_v_lo; + wire [dcache_req_id_width_p - 1:0] dcache_req_id_li; + wire dcache_req_critical_li; + wire dcache_req_last_li; + wire dcache_req_credits_full_li; + wire dcache_req_credits_empty_li; + wire [(((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 3) + icache_tag_width_p) + 2:0] icache_tag_mem_pkt_li; + wire icache_tag_mem_pkt_v_li; + wire icache_tag_mem_pkt_yumi_lo; + wire [(3 + icache_tag_width_p) - 1:0] icache_tag_mem_lo; + wire [(((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + icache_fill_width_p) + (icache_block_width_p / icache_fill_width_p)) + 1:0] icache_data_mem_pkt_li; + wire icache_data_mem_pkt_v_li; + wire icache_data_mem_pkt_yumi_lo; + wire [icache_block_width_p - 1:0] icache_data_mem_lo; + wire [(((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 1:0] icache_stat_mem_pkt_li; + wire icache_stat_mem_pkt_v_li; + wire icache_stat_mem_pkt_yumi_lo; + wire [(((icache_assoc_p < 2 ? 0 : icache_assoc_p - 2) >= 0 ? (icache_assoc_p < 2 ? 0 : icache_assoc_p - 2) + 1 : 1 - (icache_assoc_p < 2 ? 0 : icache_assoc_p - 2)) + icache_assoc_p) - 1:0] icache_stat_mem_lo; + wire [(((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 3) + dcache_tag_width_p) + 2:0] dcache_tag_mem_pkt_li; + wire dcache_tag_mem_pkt_v_li; + wire dcache_tag_mem_pkt_yumi_lo; + wire [(3 + dcache_tag_width_p) - 1:0] dcache_tag_mem_lo; + wire [(((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + dcache_fill_width_p) + (dcache_block_width_p / dcache_fill_width_p)) + 1:0] dcache_data_mem_pkt_li; + wire dcache_data_mem_pkt_v_li; + wire dcache_data_mem_pkt_yumi_lo; + wire [dcache_block_width_p - 1:0] dcache_data_mem_lo; + wire [(((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 1:0] dcache_stat_mem_pkt_li; + wire dcache_stat_mem_pkt_v_li; + wire dcache_stat_mem_pkt_yumi_lo; + wire [(((dcache_assoc_p < 2 ? 0 : dcache_assoc_p - 2) >= 0 ? (dcache_assoc_p < 2 ? 0 : dcache_assoc_p - 2) + 1 : 1 - (dcache_assoc_p < 2 ? 0 : dcache_assoc_p - 2)) + dcache_assoc_p) - 1:0] dcache_stat_mem_lo; + wire posedge_clk = clk_i; + wire negedge_clk = ~clk_i; + bp_core_minimal #(.bp_params_p(bp_params_p)) core_minimal( + .clk_i(posedge_clk), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_cast_i), + .icache_req_o(icache_req_lo), + .icache_req_v_o(icache_req_v_lo), + .icache_req_yumi_i(icache_req_yumi_li), + .icache_req_lock_i(icache_req_lock_li), + .icache_req_metadata_o(icache_req_metadata_lo), + .icache_req_metadata_v_o(icache_req_metadata_v_lo), + .icache_req_id_i(icache_req_id_li), + .icache_req_critical_i(icache_req_critical_li), + .icache_req_last_i(icache_req_last_li), + .icache_req_credits_full_i(icache_req_credits_full_li), + .icache_req_credits_empty_i(icache_req_credits_empty_li), + .icache_tag_mem_pkt_i(icache_tag_mem_pkt_li), + .icache_tag_mem_pkt_v_i(icache_tag_mem_pkt_v_li), + .icache_tag_mem_pkt_yumi_o(icache_tag_mem_pkt_yumi_lo), + .icache_tag_mem_o(icache_tag_mem_lo), + .icache_data_mem_pkt_i(icache_data_mem_pkt_li), + .icache_data_mem_pkt_v_i(icache_data_mem_pkt_v_li), + .icache_data_mem_pkt_yumi_o(icache_data_mem_pkt_yumi_lo), + .icache_data_mem_o(icache_data_mem_lo), + .icache_stat_mem_pkt_v_i(icache_stat_mem_pkt_v_li), + .icache_stat_mem_pkt_i(icache_stat_mem_pkt_li), + .icache_stat_mem_pkt_yumi_o(icache_stat_mem_pkt_yumi_lo), + .icache_stat_mem_o(icache_stat_mem_lo), + .dcache_req_o(dcache_req_lo), + .dcache_req_v_o(dcache_req_v_lo), + .dcache_req_yumi_i(dcache_req_yumi_li), + .dcache_req_lock_i(dcache_req_lock_li), + .dcache_req_metadata_o(dcache_req_metadata_lo), + .dcache_req_metadata_v_o(dcache_req_metadata_v_lo), + .dcache_req_id_i(dcache_req_id_li), + .dcache_req_critical_i(dcache_req_critical_li), + .dcache_req_last_i(dcache_req_last_li), + .dcache_req_credits_full_i(dcache_req_credits_full_li), + .dcache_req_credits_empty_i(dcache_req_credits_empty_li), + .dcache_tag_mem_pkt_i(dcache_tag_mem_pkt_li), + .dcache_tag_mem_pkt_v_i(dcache_tag_mem_pkt_v_li), + .dcache_tag_mem_pkt_yumi_o(dcache_tag_mem_pkt_yumi_lo), + .dcache_tag_mem_o(dcache_tag_mem_lo), + .dcache_data_mem_pkt_i(dcache_data_mem_pkt_li), + .dcache_data_mem_pkt_v_i(dcache_data_mem_pkt_v_li), + .dcache_data_mem_pkt_yumi_o(dcache_data_mem_pkt_yumi_lo), + .dcache_data_mem_o(dcache_data_mem_lo), + .dcache_stat_mem_pkt_v_i(dcache_stat_mem_pkt_v_li), + .dcache_stat_mem_pkt_i(dcache_stat_mem_pkt_li), + .dcache_stat_mem_pkt_yumi_o(dcache_stat_mem_pkt_yumi_lo), + .dcache_stat_mem_o(dcache_stat_mem_lo), + .debug_irq_i(debug_irq_i), + .timer_irq_i(timer_irq_i), + .software_irq_i(software_irq_i), + .m_external_irq_i(m_external_irq_i), + .s_external_irq_i(s_external_irq_i) + ); + bp_lce #( + .bp_params_p(bp_params_p), + .assoc_p(icache_assoc_p), + .sets_p(icache_sets_p), + .block_width_p(icache_block_width_p), + .fill_width_p(icache_fill_width_p), + .data_width_p(icache_data_width_p), + .tag_width_p(icache_tag_width_p), + .id_width_p(icache_req_id_width_p), + .timeout_max_limit_p(4), + .credits_p(coh_noc_max_credits_p), + .non_excl_reads_p(1) + ) fe_lce( + .clk_i(posedge_clk), + .reset_i(reset_i), + .did_i(cfg_bus_cast_i[did_width_p - 1-:did_width_p]), + .lce_id_i(cfg_bus_cast_i[lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))-:((lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))) >= (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))) ? ((lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))) - (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))))) + 1 : ((2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))) - (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))) + 1)]), + .lce_mode_i(cfg_bus_cast_i[2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))-:((2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) >= (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) ? ((2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) - (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))) + 1 : ((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) - (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))) + 1)]), + .cache_req_i(icache_req_lo), + .cache_req_v_i(icache_req_v_lo), + .cache_req_yumi_o(icache_req_yumi_li), + .cache_req_lock_o(icache_req_lock_li), + .cache_req_metadata_i(icache_req_metadata_lo), + .cache_req_metadata_v_i(icache_req_metadata_v_lo), + .cache_req_id_o(icache_req_id_li), + .cache_req_critical_o(icache_req_critical_li), + .cache_req_last_o(icache_req_last_li), + .cache_req_credits_full_o(icache_req_credits_full_li), + .cache_req_credits_empty_o(icache_req_credits_empty_li), + .tag_mem_pkt_o(icache_tag_mem_pkt_li), + .tag_mem_pkt_v_o(icache_tag_mem_pkt_v_li), + .tag_mem_pkt_yumi_i(icache_tag_mem_pkt_yumi_lo), + .tag_mem_i(icache_tag_mem_lo), + .data_mem_pkt_o(icache_data_mem_pkt_li), + .data_mem_pkt_v_o(icache_data_mem_pkt_v_li), + .data_mem_pkt_yumi_i(icache_data_mem_pkt_yumi_lo), + .data_mem_i(icache_data_mem_lo), + .stat_mem_pkt_v_o(icache_stat_mem_pkt_v_li), + .stat_mem_pkt_o(icache_stat_mem_pkt_li), + .stat_mem_pkt_yumi_i(icache_stat_mem_pkt_yumi_lo), + .stat_mem_i(icache_stat_mem_lo), + .lce_req_header_o(lce_req_header_o[0+:lce_req_header_width_lp]), + .lce_req_data_o(lce_req_data_o[0+:icache_fill_width_p]), + .lce_req_v_o(lce_req_v_o[0]), + .lce_req_ready_and_i(lce_req_ready_and_i[0]), + .lce_cmd_header_i(lce_cmd_header_i[0+:lce_cmd_header_width_lp]), + .lce_cmd_data_i(lce_cmd_data_i[0+:icache_fill_width_p]), + .lce_cmd_v_i(lce_cmd_v_i[0]), + .lce_cmd_ready_and_o(lce_cmd_ready_and_o[0]), + .lce_fill_header_i(lce_fill_header_i[0+:lce_fill_header_width_lp]), + .lce_fill_data_i(lce_fill_data_i[0+:icache_fill_width_p]), + .lce_fill_v_i(lce_fill_v_i[0]), + .lce_fill_ready_and_o(lce_fill_ready_and_o[0]), + .lce_fill_header_o(lce_fill_header_o[0+:lce_fill_header_width_lp]), + .lce_fill_data_o(lce_fill_data_o[0+:icache_fill_width_p]), + .lce_fill_v_o(lce_fill_v_o[0]), + .lce_fill_ready_and_i(lce_fill_ready_and_i[0]), + .lce_resp_header_o(lce_resp_header_o[0+:lce_resp_header_width_lp]), + .lce_resp_data_o(lce_resp_data_o[0+:icache_fill_width_p]), + .lce_resp_v_o(lce_resp_v_o[0]), + .lce_resp_ready_and_i(lce_resp_ready_and_i[0]) + ); + wire [lce_req_header_width_lp + (lce_req_header_width_lp - 1):lce_req_header_width_lp] _lce_req_header_o; + wire [icache_fill_width_p + (icache_fill_width_p - 1):icache_fill_width_p] _lce_req_data_o; + wire [1:1] _lce_req_v_o; + wire [1:1] _lce_req_ready_and_i; + wire [lce_cmd_header_width_lp + (lce_cmd_header_width_lp - 1):lce_cmd_header_width_lp] _lce_cmd_header_i; + wire [icache_fill_width_p + (icache_fill_width_p - 1):icache_fill_width_p] _lce_cmd_data_i; + wire [1:1] _lce_cmd_v_i; + wire [1:1] _lce_cmd_ready_and_o; + wire [lce_fill_header_width_lp + (lce_fill_header_width_lp - 1):lce_fill_header_width_lp] _lce_fill_header_i; + wire [icache_fill_width_p + (icache_fill_width_p - 1):icache_fill_width_p] _lce_fill_data_i; + wire [1:1] _lce_fill_v_i; + wire [1:1] _lce_fill_ready_and_o; + wire [lce_fill_header_width_lp + (lce_fill_header_width_lp - 1):lce_fill_header_width_lp] _lce_fill_header_o; + wire [icache_fill_width_p + (icache_fill_width_p - 1):icache_fill_width_p] _lce_fill_data_o; + wire [1:1] _lce_fill_v_o; + wire [1:1] _lce_fill_ready_and_i; + wire [lce_resp_header_width_lp + (lce_resp_header_width_lp - 1):lce_resp_header_width_lp] _lce_resp_header_o; + wire [icache_fill_width_p + (icache_fill_width_p - 1):icache_fill_width_p] _lce_resp_data_o; + wire [1:1] _lce_resp_v_o; + wire [1:1] _lce_resp_ready_and_i; + bp_lce #( + .bp_params_p(bp_params_p), + .assoc_p(dcache_assoc_p), + .sets_p(dcache_sets_p), + .block_width_p(dcache_block_width_p), + .fill_width_p(dcache_fill_width_p), + .data_width_p(dcache_data_width_p), + .tag_width_p(dcache_tag_width_p), + .id_width_p(dcache_req_id_width_p), + .timeout_max_limit_p(4), + .credits_p(coh_noc_max_credits_p) + ) be_lce( + .clk_i(negedge_clk), + .reset_i(reset_i), + .did_i(cfg_bus_cast_i[did_width_p - 1-:did_width_p]), + .lce_id_i(cfg_bus_cast_i[lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))-:((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) >= (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) ? ((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) - (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) + 1 : ((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) - (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) + 1)]), + .lce_mode_i(cfg_bus_cast_i[2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))-:((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) >= (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) ? ((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))) - (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) + 1 : ((cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))) - (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) + 1)]), + .cache_req_i(dcache_req_lo), + .cache_req_v_i(dcache_req_v_lo), + .cache_req_yumi_o(dcache_req_yumi_li), + .cache_req_lock_o(dcache_req_lock_li), + .cache_req_metadata_i(dcache_req_metadata_lo), + .cache_req_metadata_v_i(dcache_req_metadata_v_lo), + .cache_req_id_o(dcache_req_id_li), + .cache_req_critical_o(dcache_req_critical_li), + .cache_req_last_o(dcache_req_last_li), + .cache_req_credits_full_o(dcache_req_credits_full_li), + .cache_req_credits_empty_o(dcache_req_credits_empty_li), + .tag_mem_pkt_o(dcache_tag_mem_pkt_li), + .tag_mem_pkt_v_o(dcache_tag_mem_pkt_v_li), + .tag_mem_pkt_yumi_i(dcache_tag_mem_pkt_yumi_lo), + .tag_mem_i(dcache_tag_mem_lo), + .data_mem_pkt_o(dcache_data_mem_pkt_li), + .data_mem_pkt_v_o(dcache_data_mem_pkt_v_li), + .data_mem_pkt_yumi_i(dcache_data_mem_pkt_yumi_lo), + .data_mem_i(dcache_data_mem_lo), + .stat_mem_pkt_v_o(dcache_stat_mem_pkt_v_li), + .stat_mem_pkt_o(dcache_stat_mem_pkt_li), + .stat_mem_pkt_yumi_i(dcache_stat_mem_pkt_yumi_lo), + .stat_mem_i(dcache_stat_mem_lo), + .lce_req_header_o(_lce_req_header_o[lce_req_header_width_lp+:lce_req_header_width_lp]), + .lce_req_data_o(_lce_req_data_o[icache_fill_width_p+:icache_fill_width_p]), + .lce_req_v_o(_lce_req_v_o[1]), + .lce_req_ready_and_i(_lce_req_ready_and_i[1]), + .lce_cmd_header_i(_lce_cmd_header_i[lce_cmd_header_width_lp+:lce_cmd_header_width_lp]), + .lce_cmd_data_i(_lce_cmd_data_i[icache_fill_width_p+:icache_fill_width_p]), + .lce_cmd_v_i(_lce_cmd_v_i[1]), + .lce_cmd_ready_and_o(_lce_cmd_ready_and_o[1]), + .lce_fill_header_i(_lce_fill_header_i[lce_fill_header_width_lp+:lce_fill_header_width_lp]), + .lce_fill_data_i(_lce_fill_data_i[icache_fill_width_p+:icache_fill_width_p]), + .lce_fill_v_i(_lce_fill_v_i[1]), + .lce_fill_ready_and_o(_lce_fill_ready_and_o[1]), + .lce_fill_header_o(_lce_fill_header_o[lce_fill_header_width_lp+:lce_fill_header_width_lp]), + .lce_fill_data_o(_lce_fill_data_o[icache_fill_width_p+:icache_fill_width_p]), + .lce_fill_v_o(_lce_fill_v_o[1]), + .lce_fill_ready_and_i(_lce_fill_ready_and_i[1]), + .lce_resp_header_o(_lce_resp_header_o[lce_resp_header_width_lp+:lce_resp_header_width_lp]), + .lce_resp_data_o(_lce_resp_data_o[icache_fill_width_p+:icache_fill_width_p]), + .lce_resp_v_o(_lce_resp_v_o[1]), + .lce_resp_ready_and_i(_lce_resp_ready_and_i[1]) + ); + bsg_dlatch #( + .width_p(((((1 * ((((0 + ((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p)) + 3) + paddr_width_p) + 8)) + (1 * ((((0 + (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p)) + 3) + paddr_width_p) + 8))) + (1 * ((((0 + ((lce_id_width_p + cce_id_width_p) + did_width_p)) + 3) + paddr_width_p) + 8))) + (3 * dcache_fill_width_p)) + 6), + .i_know_this_is_a_bad_idea_p(1) + ) posedge_latch( + .clk_i(posedge_clk), + .data_i({_lce_req_header_o[lce_req_header_width_lp+:lce_req_header_width_lp], _lce_req_data_o[icache_fill_width_p+:icache_fill_width_p], _lce_req_v_o[1], _lce_fill_header_o[lce_fill_header_width_lp+:lce_fill_header_width_lp], _lce_fill_data_o[icache_fill_width_p+:icache_fill_width_p], _lce_fill_v_o[1], _lce_resp_header_o[lce_resp_header_width_lp+:lce_resp_header_width_lp], _lce_resp_data_o[icache_fill_width_p+:icache_fill_width_p], _lce_resp_v_o[1], lce_req_ready_and_i[1], lce_fill_ready_and_i[1], lce_resp_ready_and_i[1]}), + .data_o({lce_req_header_o[lce_req_header_width_lp+:lce_req_header_width_lp], lce_req_data_o[icache_fill_width_p+:icache_fill_width_p], lce_req_v_o[1], lce_fill_header_o[lce_fill_header_width_lp+:lce_fill_header_width_lp], lce_fill_data_o[icache_fill_width_p+:icache_fill_width_p], lce_fill_v_o[1], lce_resp_header_o[lce_resp_header_width_lp+:lce_resp_header_width_lp], lce_resp_data_o[icache_fill_width_p+:icache_fill_width_p], lce_resp_v_o[1], _lce_req_ready_and_i[1], _lce_fill_ready_and_i[1], _lce_resp_ready_and_i[1]}) + ); + bsg_dlatch #( + .width_p((((1 * ((((0 + (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p)) + 3) + paddr_width_p) + 8)) + (1 * ((((0 + (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p)) + 3) + paddr_width_p) + 8))) + (2 * dcache_fill_width_p)) + 4), + .i_know_this_is_a_bad_idea_p(1) + ) negedge_latch( + .clk_i(negedge_clk), + .data_i({lce_cmd_header_i[lce_cmd_header_width_lp+:lce_cmd_header_width_lp], lce_cmd_data_i[icache_fill_width_p+:icache_fill_width_p], lce_cmd_v_i[1], lce_fill_header_i[lce_fill_header_width_lp+:lce_fill_header_width_lp], lce_fill_data_i[icache_fill_width_p+:icache_fill_width_p], lce_fill_v_i[1], _lce_cmd_ready_and_o[1], _lce_fill_ready_and_o[1]}), + .data_o({_lce_cmd_header_i[lce_cmd_header_width_lp+:lce_cmd_header_width_lp], _lce_cmd_data_i[icache_fill_width_p+:icache_fill_width_p], _lce_cmd_v_i[1], _lce_fill_header_i[lce_fill_header_width_lp+:lce_fill_header_width_lp], _lce_fill_data_i[icache_fill_width_p+:icache_fill_width_p], _lce_fill_v_i[1], lce_cmd_ready_and_o[1], lce_fill_ready_and_o[1]}) + ); +endmodule +module bp_core_minimal ( + clk_i, + reset_i, + cfg_bus_i, + icache_req_o, + icache_req_v_o, + icache_req_yumi_i, + icache_req_lock_i, + icache_req_metadata_o, + icache_req_metadata_v_o, + icache_req_id_i, + icache_req_critical_i, + icache_req_last_i, + icache_req_credits_full_i, + icache_req_credits_empty_i, + icache_tag_mem_pkt_i, + icache_tag_mem_pkt_v_i, + icache_tag_mem_pkt_yumi_o, + icache_tag_mem_o, + icache_data_mem_pkt_i, + icache_data_mem_pkt_v_i, + icache_data_mem_pkt_yumi_o, + icache_data_mem_o, + icache_stat_mem_pkt_i, + icache_stat_mem_pkt_v_i, + icache_stat_mem_pkt_yumi_o, + icache_stat_mem_o, + dcache_req_o, + dcache_req_v_o, + dcache_req_yumi_i, + dcache_req_lock_i, + dcache_req_metadata_o, + dcache_req_metadata_v_o, + dcache_req_id_i, + dcache_req_critical_i, + dcache_req_last_i, + dcache_req_credits_full_i, + dcache_req_credits_empty_i, + dcache_tag_mem_pkt_i, + dcache_tag_mem_pkt_v_i, + dcache_tag_mem_pkt_yumi_o, + dcache_tag_mem_o, + dcache_data_mem_pkt_i, + dcache_data_mem_pkt_v_i, + dcache_data_mem_pkt_yumi_o, + dcache_data_mem_o, + dcache_stat_mem_pkt_i, + dcache_stat_mem_pkt_v_i, + dcache_stat_mem_pkt_yumi_o, + dcache_stat_mem_o, + debug_irq_i, + timer_irq_i, + software_irq_i, + m_external_irq_i, + s_external_irq_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam icache_req_width_lp = ((((icache_req_id_width_p + 1) + icache_data_width_p) + 3) + paddr_width_p) + 8; + localparam icache_req_metadata_width_lp = ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p)) + 1; + localparam icache_data_mem_pkt_width_lp = (((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + icache_fill_width_p) + (icache_block_width_p / icache_fill_width_p)) + 2; + localparam icache_tag_mem_pkt_width_lp = (((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 3) + icache_tag_width_p) + 3; + localparam icache_tag_info_width_lp = 3 + icache_tag_width_p; + localparam icache_stat_mem_pkt_width_lp = (((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 2; + localparam icache_stat_info_width_lp = (2 > ((2 * icache_assoc_p) - 1) ? 2 : (2 * icache_assoc_p) - 1); + localparam dcache_req_width_lp = ((((dcache_req_id_width_p + 1) + dcache_data_width_p) + 3) + paddr_width_p) + 8; + localparam dcache_req_metadata_width_lp = ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p)) + 1; + localparam dcache_data_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + dcache_fill_width_p) + (dcache_block_width_p / dcache_fill_width_p)) + 2; + localparam dcache_tag_mem_pkt_width_lp = (((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 3) + dcache_tag_width_p) + 3; + localparam dcache_tag_info_width_lp = 3 + dcache_tag_width_p; + localparam dcache_stat_mem_pkt_width_lp = (((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 2; + localparam dcache_stat_info_width_lp = (2 > ((2 * dcache_assoc_p) - 1) ? 2 : (2 * dcache_assoc_p) - 1); + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + output wire [icache_req_width_lp - 1:0] icache_req_o; + output wire icache_req_v_o; + input icache_req_yumi_i; + input icache_req_lock_i; + output wire [icache_req_metadata_width_lp - 1:0] icache_req_metadata_o; + output wire icache_req_metadata_v_o; + input [icache_req_id_width_p - 1:0] icache_req_id_i; + input icache_req_critical_i; + input icache_req_last_i; + input icache_req_credits_full_i; + input icache_req_credits_empty_i; + input [icache_tag_mem_pkt_width_lp - 1:0] icache_tag_mem_pkt_i; + input icache_tag_mem_pkt_v_i; + output wire icache_tag_mem_pkt_yumi_o; + output wire [icache_tag_info_width_lp - 1:0] icache_tag_mem_o; + input [icache_data_mem_pkt_width_lp - 1:0] icache_data_mem_pkt_i; + input icache_data_mem_pkt_v_i; + output wire icache_data_mem_pkt_yumi_o; + output wire [icache_block_width_p - 1:0] icache_data_mem_o; + input [icache_stat_mem_pkt_width_lp - 1:0] icache_stat_mem_pkt_i; + input icache_stat_mem_pkt_v_i; + output wire icache_stat_mem_pkt_yumi_o; + output wire [icache_stat_info_width_lp - 1:0] icache_stat_mem_o; + output wire [dcache_req_width_lp - 1:0] dcache_req_o; + output wire dcache_req_v_o; + input dcache_req_yumi_i; + input dcache_req_lock_i; + output wire [dcache_req_metadata_width_lp - 1:0] dcache_req_metadata_o; + output wire dcache_req_metadata_v_o; + input [dcache_req_id_width_p - 1:0] dcache_req_id_i; + input dcache_req_critical_i; + input dcache_req_last_i; + input dcache_req_credits_full_i; + input dcache_req_credits_empty_i; + input [dcache_tag_mem_pkt_width_lp - 1:0] dcache_tag_mem_pkt_i; + input dcache_tag_mem_pkt_v_i; + output wire dcache_tag_mem_pkt_yumi_o; + output wire [dcache_tag_info_width_lp - 1:0] dcache_tag_mem_o; + input [dcache_data_mem_pkt_width_lp - 1:0] dcache_data_mem_pkt_i; + input dcache_data_mem_pkt_v_i; + output wire dcache_data_mem_pkt_yumi_o; + output wire [dcache_block_width_p - 1:0] dcache_data_mem_o; + input [dcache_stat_mem_pkt_width_lp - 1:0] dcache_stat_mem_pkt_i; + input dcache_stat_mem_pkt_v_i; + output wire dcache_stat_mem_pkt_yumi_o; + output wire [dcache_stat_info_width_lp - 1:0] dcache_stat_mem_o; + input debug_irq_i; + input timer_irq_i; + input software_irq_i; + input m_external_irq_i; + input s_external_irq_i; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire [(((vaddr_width_p + fetch_width_p) + branch_metadata_fwd_width_p) + fetch_ptr_p) + 2:0] fe_queue_li; + wire [(((vaddr_width_p + fetch_width_p) + branch_metadata_fwd_width_p) + fetch_ptr_p) + 2:0] fe_queue_lo; + wire fe_queue_v_li; + wire fe_queue_ready_and_lo; + wire [((vaddr_width_p + 3) + (((3 + branch_metadata_fwd_width_p) + 5) + ((1 + (((3 + branch_metadata_fwd_width_p) + 5) > ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p))) ? (3 + branch_metadata_fwd_width_p) + 5 : ((1 + branch_metadata_fwd_width_p) > (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (paddr_width_p + 28) + fetch_ptr_p : ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p)) ? 1 + branch_metadata_fwd_width_p : (((paddr_width_p + 28) + fetch_ptr_p) > ((asid_width_p + 2) > (32 + fetch_ptr_p) ? asid_width_p + 2 : 32 + fetch_ptr_p) ? (((paddr_width_p - bp_common_pkg_page_offset_width_gp) + 8) + bp_common_pkg_instr_width_gp) + fetch_ptr_p : ((asid_width_p + 2) > (bp_common_pkg_instr_width_gp + fetch_ptr_p) ? asid_width_p + 2 : bp_common_pkg_instr_width_gp + fetch_ptr_p))))) - ((3 + branch_metadata_fwd_width_p) + 5)))) - 1:0] fe_cmd_lo; + wire fe_cmd_v_lo; + wire fe_cmd_yumi_li; + bp_fe_top #(.bp_params_p(bp_params_p)) fe( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_cast_i), + .fe_queue_o(fe_queue_li), + .fe_queue_v_o(fe_queue_v_li), + .fe_queue_ready_and_i(fe_queue_ready_and_lo), + .fe_cmd_i(fe_cmd_lo), + .fe_cmd_v_i(fe_cmd_v_lo), + .fe_cmd_yumi_o(fe_cmd_yumi_li), + .cache_req_o(icache_req_o), + .cache_req_v_o(icache_req_v_o), + .cache_req_yumi_i(icache_req_yumi_i), + .cache_req_lock_i(icache_req_lock_i), + .cache_req_metadata_o(icache_req_metadata_o), + .cache_req_metadata_v_o(icache_req_metadata_v_o), + .cache_req_id_i(icache_req_id_i), + .cache_req_critical_i(icache_req_critical_i), + .cache_req_last_i(icache_req_last_i), + .cache_req_credits_full_i(icache_req_credits_full_i), + .cache_req_credits_empty_i(icache_req_credits_empty_i), + .tag_mem_pkt_i(icache_tag_mem_pkt_i), + .tag_mem_pkt_v_i(icache_tag_mem_pkt_v_i), + .tag_mem_pkt_yumi_o(icache_tag_mem_pkt_yumi_o), + .tag_mem_o(icache_tag_mem_o), + .data_mem_pkt_i(icache_data_mem_pkt_i), + .data_mem_pkt_v_i(icache_data_mem_pkt_v_i), + .data_mem_pkt_yumi_o(icache_data_mem_pkt_yumi_o), + .data_mem_o(icache_data_mem_o), + .stat_mem_pkt_v_i(icache_stat_mem_pkt_v_i), + .stat_mem_pkt_i(icache_stat_mem_pkt_i), + .stat_mem_pkt_yumi_o(icache_stat_mem_pkt_yumi_o), + .stat_mem_o(icache_stat_mem_o) + ); + bp_be_top #(.bp_params_p(bp_params_p)) be( + .clk_i(clk_i), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_cast_i), + .fe_queue_i(fe_queue_li), + .fe_queue_v_i(fe_queue_v_li), + .fe_queue_ready_and_o(fe_queue_ready_and_lo), + .fe_cmd_o(fe_cmd_lo), + .fe_cmd_v_o(fe_cmd_v_lo), + .fe_cmd_yumi_i(fe_cmd_yumi_li), + .cache_req_o(dcache_req_o), + .cache_req_v_o(dcache_req_v_o), + .cache_req_yumi_i(dcache_req_yumi_i), + .cache_req_lock_i(dcache_req_lock_i), + .cache_req_metadata_o(dcache_req_metadata_o), + .cache_req_metadata_v_o(dcache_req_metadata_v_o), + .cache_req_id_i(dcache_req_id_i), + .cache_req_critical_i(dcache_req_critical_i), + .cache_req_last_i(dcache_req_last_i), + .cache_req_credits_full_i(dcache_req_credits_full_i), + .cache_req_credits_empty_i(dcache_req_credits_empty_i), + .data_mem_pkt_i(dcache_data_mem_pkt_i), + .data_mem_pkt_v_i(dcache_data_mem_pkt_v_i), + .data_mem_pkt_yumi_o(dcache_data_mem_pkt_yumi_o), + .data_mem_o(dcache_data_mem_o), + .tag_mem_pkt_i(dcache_tag_mem_pkt_i), + .tag_mem_pkt_v_i(dcache_tag_mem_pkt_v_i), + .tag_mem_pkt_yumi_o(dcache_tag_mem_pkt_yumi_o), + .tag_mem_o(dcache_tag_mem_o), + .stat_mem_pkt_v_i(dcache_stat_mem_pkt_v_i), + .stat_mem_pkt_i(dcache_stat_mem_pkt_i), + .stat_mem_pkt_yumi_o(dcache_stat_mem_pkt_yumi_o), + .stat_mem_o(dcache_stat_mem_o), + .debug_irq_i(debug_irq_i), + .timer_irq_i(timer_irq_i), + .software_irq_i(software_irq_i), + .m_external_irq_i(m_external_irq_i), + .s_external_irq_i(s_external_irq_i) + ); +endmodule +module bp_core_complex ( + core_clk_i, + rt_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + dma_clk_i, + dma_reset_i, + my_did_i, + host_did_i, + coh_req_hor_link_i, + coh_req_hor_link_o, + coh_cmd_hor_link_i, + coh_cmd_hor_link_o, + coh_fill_hor_link_i, + coh_fill_hor_link_o, + coh_resp_hor_link_i, + coh_resp_hor_link_o, + coh_req_ver_link_i, + coh_req_ver_link_o, + coh_cmd_ver_link_i, + coh_cmd_ver_link_o, + coh_fill_ver_link_i, + coh_fill_ver_link_o, + coh_resp_ver_link_i, + coh_resp_ver_link_o, + dma_link_i, + dma_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + input core_clk_i; + input rt_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input dma_clk_i; + input dma_reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [mem_noc_did_width_p - 1:0] host_did_i; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_req_hor_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_req_hor_link_o; + input [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_cmd_hor_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_cmd_hor_link_o; + input [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_fill_hor_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_fill_hor_link_o; + input [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_resp_hor_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_resp_hor_link_o; + input [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_req_ver_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_req_ver_link_o; + input [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_cmd_ver_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_cmd_ver_link_o; + input [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_fill_ver_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_fill_ver_link_o; + input [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_resp_ver_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * coh_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * coh_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * coh_noc_ral_link_width_lp)] coh_resp_ver_link_o; + input [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * dma_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * dma_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp)] dma_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * dma_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * dma_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp)] dma_link_o; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p))] dma_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p))] dma_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_fill_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] mem_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] mem_ver_link_li; + genvar _gv_j_19; + function automatic signed [coh_noc_y_cord_width_p - 1:0] sv2v_cast_9155F_signed; + input reg signed [coh_noc_y_cord_width_p - 1:0] inp; + sv2v_cast_9155F_signed = inp; + endfunction + function automatic signed [coh_noc_x_cord_width_p - 1:0] sv2v_cast_0F33E_signed; + input reg signed [coh_noc_x_cord_width_p - 1:0] inp; + sv2v_cast_0F33E_signed = inp; + endfunction + generate + for (_gv_j_19 = 0; _gv_j_19 < cc_y_dim_p; _gv_j_19 = _gv_j_19 + 1) begin : y + localparam j = _gv_j_19; + genvar _gv_i_81; + for (_gv_i_81 = 0; _gv_i_81 < cc_x_dim_p; _gv_i_81 = _gv_i_81 + 1) begin : x + localparam i = _gv_i_81; + wire [coh_noc_cord_width_p - 1:0] cord_li = {sv2v_cast_9155F_signed(ic_y_dim_p + j), sv2v_cast_0F33E_signed(sac_x_dim_p + i)}; + bp_core_tile_node #(.bp_params_p(bp_params_p)) tile_node( + .core_clk_i(core_clk_i), + .rt_clk_i(rt_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .dma_clk_i(dma_clk_i), + .dma_reset_i(dma_reset_i), + .my_did_i(my_did_i), + .host_did_i(host_did_i), + .my_cord_i(cord_li), + .coh_lce_req_link_i(lce_req_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_resp_link_i(lce_resp_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_i(lce_cmd_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_fill_link_i(lce_fill_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_req_link_o(lce_req_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_resp_link_o(lce_resp_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_o(lce_cmd_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_fill_link_o(lce_fill_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .dma_link_i(dma_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .dma_link_o(dma_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (((j * cc_x_dim_p) + i) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]) + ); + end + end + endgenerate + assign lce_req_hor_link_li = coh_req_hor_link_i; + assign lce_req_ver_link_li = coh_req_ver_link_i; + bsg_mesh_stitch #( + .width_p(2 + coh_noc_flit_width_p), + .x_max_p(cc_x_dim_p), + .y_max_p(cc_y_dim_p) + ) coh_req_mesh( + .outs_i(lce_req_link_lo), + .ins_o(lce_req_link_li), + .hor_i(lce_req_hor_link_li), + .hor_o(lce_req_hor_link_lo), + .ver_i(lce_req_ver_link_li), + .ver_o(lce_req_ver_link_lo) + ); + assign coh_req_hor_link_o = lce_req_hor_link_lo; + assign coh_req_ver_link_o = lce_req_ver_link_lo; + assign lce_cmd_hor_link_li = coh_cmd_hor_link_i; + assign lce_cmd_ver_link_li = coh_cmd_ver_link_i; + bsg_mesh_stitch #( + .width_p(2 + coh_noc_flit_width_p), + .x_max_p(cc_x_dim_p), + .y_max_p(cc_y_dim_p) + ) coh_cmd_mesh( + .outs_i(lce_cmd_link_lo), + .ins_o(lce_cmd_link_li), + .hor_i(lce_cmd_hor_link_li), + .hor_o(lce_cmd_hor_link_lo), + .ver_i(lce_cmd_ver_link_li), + .ver_o(lce_cmd_ver_link_lo) + ); + assign coh_cmd_hor_link_o = lce_cmd_hor_link_lo; + assign coh_cmd_ver_link_o = lce_cmd_ver_link_lo; + assign lce_fill_hor_link_li = coh_fill_hor_link_i; + assign lce_fill_ver_link_li = coh_fill_ver_link_i; + bsg_mesh_stitch #( + .width_p(2 + coh_noc_flit_width_p), + .x_max_p(cc_x_dim_p), + .y_max_p(cc_y_dim_p) + ) coh_fill_mesh( + .outs_i(lce_fill_link_lo), + .ins_o(lce_fill_link_li), + .hor_i(lce_fill_hor_link_li), + .hor_o(lce_fill_hor_link_lo), + .ver_i(lce_fill_ver_link_li), + .ver_o(lce_fill_ver_link_lo) + ); + assign coh_fill_hor_link_o = lce_fill_hor_link_lo; + assign coh_fill_ver_link_o = lce_fill_ver_link_lo; + assign lce_resp_hor_link_li = coh_resp_hor_link_i; + assign lce_resp_ver_link_li = coh_resp_ver_link_i; + bsg_mesh_stitch #( + .width_p(2 + coh_noc_flit_width_p), + .x_max_p(cc_x_dim_p), + .y_max_p(cc_y_dim_p) + ) coh_resp_mesh( + .outs_i(lce_resp_link_lo), + .ins_o(lce_resp_link_li), + .hor_i(lce_resp_hor_link_li), + .hor_o(lce_resp_hor_link_lo), + .ver_i(lce_resp_ver_link_li), + .ver_o(lce_resp_ver_link_lo) + ); + assign coh_resp_hor_link_o = lce_resp_hor_link_lo; + assign coh_resp_ver_link_o = lce_resp_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p))] mem_mesh_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p))] mem_mesh_li; + genvar _gv_i_82; + generate + for (_gv_i_82 = 0; _gv_i_82 < cc_y_dim_p; _gv_i_82 = _gv_i_82 + 1) begin : genblk2 + localparam i = _gv_i_82; + genvar _gv_j_20; + for (_gv_j_20 = 0; _gv_j_20 < cc_x_dim_p; _gv_j_20 = _gv_j_20 + 1) begin : link + localparam j = _gv_j_20; + assign mem_mesh_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = dma_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]; + assign dma_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3((3'd0 + 1) + 2) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = mem_mesh_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((((i * cc_x_dim_p) + j) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : ((cc_y_dim_p * cc_x_dim_p) * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]; + end + end + endgenerate + assign mem_ver_link_li = dma_link_i; + bsg_mesh_stitch #( + .width_p(2 + dma_noc_flit_width_p), + .x_max_p(cc_x_dim_p), + .y_max_p(cc_y_dim_p) + ) mem_mesh( + .outs_i(mem_mesh_lo), + .ins_o(mem_mesh_li), + .hor_i(), + .hor_o(), + .ver_i(mem_ver_link_li), + .ver_o(mem_ver_link_lo) + ); + assign dma_link_o = mem_ver_link_lo; +endmodule +module bp_l2e_tile ( + clk_i, + reset_i, + my_did_i, + my_cord_i, + lce_req_link_i, + lce_req_link_o, + lce_cmd_link_i, + lce_cmd_link_o, + lce_resp_link_i, + lce_resp_link_o, + dma_link_o, + dma_link_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + input clk_i; + input reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + input [coh_noc_ral_link_width_lp - 1:0] lce_req_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_req_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_resp_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_resp_link_o; + output wire [dma_noc_ral_link_width_lp - 1:0] dma_link_o; + input [dma_noc_ral_link_width_lp - 1:0] dma_link_i; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + reg reset_r; + always @(posedge clk_i) reset_r <= reset_i; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_i; + assign lce_req_link_cast_i = lce_req_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_i; + assign lce_cmd_link_cast_i = lce_cmd_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_resp_link_cast_i; + assign lce_resp_link_cast_i = lce_resp_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_o; + assign lce_req_link_o = lce_req_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_o; + assign lce_cmd_link_o = lce_cmd_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_resp_link_cast_o; + assign lce_resp_link_o = lce_resp_link_cast_o; + assign lce_req_link_cast_o[coh_noc_flit_width_p + 1] = 1'sb0; + assign lce_req_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p] = 1'sb0; + assign lce_cmd_link_cast_o[coh_noc_flit_width_p + 0] = 1'sb0; + assign lce_resp_link_cast_o[coh_noc_flit_width_p + 1] = 1'sb0; + assign lce_resp_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p] = 1'sb0; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_li; + wire [bedrock_fill_width_p - 1:0] lce_req_data_li; + wire lce_req_v_li; + wire lce_req_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_lo; + wire [bedrock_fill_width_p - 1:0] lce_cmd_data_lo; + wire lce_cmd_v_lo; + wire lce_cmd_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_cmd_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_cmd_dst_cid_lo; + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_resp_header_li; + wire [bedrock_fill_width_p - 1:0] lce_resp_data_li; + wire lce_resp_v_li; + wire lce_resp_ready_and_lo; + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_req_header_width_lp), + .pr_payload_width_p(lce_req_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_req_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_req_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_req_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(lce_req_link_cast_o[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_req_header_li), + .pr_data_o(lce_req_data_li), + .pr_v_o(lce_req_v_li), + .pr_ready_and_i(lce_req_ready_and_lo) + ); + bp_me_lce_id_to_cord #(.bp_params_p(bp_params_p)) cmd_router_cord( + .lce_id_i(lce_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)]), + .lce_cord_o(lce_cmd_dst_cord_lo), + .lce_cid_o(lce_cmd_dst_cid_lo) + ); + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_cmd_header_width_lp), + .pr_payload_width_p(lce_cmd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_cmd_burst_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_cmd_header_lo), + .pr_data_i(lce_cmd_data_lo), + .pr_v_i(lce_cmd_v_lo), + .pr_ready_and_o(lce_cmd_ready_and_li), + .dst_cord_i(lce_cmd_dst_cord_lo), + .dst_cid_i(lce_cmd_dst_cid_lo), + .link_data_o(lce_cmd_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_cmd_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_cmd_link_cast_i[coh_noc_flit_width_p + 0]) + ); + localparam bp_common_pkg_lce_resp_stream_mask_gp = 8; + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_resp_header_width_lp), + .pr_payload_width_p(lce_resp_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_resp_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_resp_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_resp_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(lce_resp_link_cast_o[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_resp_header_li), + .pr_data_o(lce_resp_data_li), + .pr_v_o(lce_resp_v_li), + .pr_ready_and_i(lce_resp_ready_and_lo) + ); + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_lo; + wire [bedrock_fill_width_p - 1:0] mem_fwd_data_lo; + wire mem_fwd_v_lo; + wire mem_fwd_ready_and_li; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_li; + wire [bedrock_fill_width_p - 1:0] mem_rev_data_li; + wire mem_rev_v_li; + wire mem_rev_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (3 * ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8)) - 1 : (3 * (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] dev_fwd_header_li; + wire [(3 * bedrock_fill_width_p) - 1:0] dev_fwd_data_li; + wire [2:0] dev_fwd_v_li; + wire [2:0] dev_fwd_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (3 * ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8)) - 1 : (3 * (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] dev_rev_header_lo; + wire [(3 * bedrock_fill_width_p) - 1:0] dev_rev_data_lo; + wire [2:0] dev_rev_v_lo; + wire [2:0] dev_rev_ready_and_li; + wire cce_ucode_v_lo; + wire cce_ucode_w_lo; + wire [cce_pc_width_p - 1:0] cce_ucode_addr_lo; + localparam bp_me_pkg_cce_instr_width_gp = 34; + wire [33:0] cce_ucode_data_lo; + wire [33:0] cce_ucode_data_li; + wire [bedrock_fill_width_p - 1:0] cfg_data_lo; + wire [bedrock_fill_width_p - 1:0] cfg_data_li; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_unicore_cfg_p = sv2v_uu_cfgs_bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_cfgs_bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] sv2v_uu_cfgs_bp_common_pkg_all_cfgs_gp = {sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_l2e_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_2_l2e_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_l2e_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_16_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_12_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_8_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_6_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_4_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_3_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_2_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_multicore_1_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_unicore_megaparrot_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_unicore_miniparrot_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_unicore_tinyparrot_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_unicore_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_custom_cfg_p, sv2v_uu_cfgs_bp_common_pkg_bp_default_cfg_p}; + localparam [6:0] sv2v_uu_cfgs_bp_params_p = bp_params_p; + localparam [2687:0] sv2v_uu_cfgs_proc_param_lp = sv2v_uu_cfgs_bp_common_pkg_all_cfgs_gp[sv2v_uu_cfgs_bp_params_p * 2688+:2688]; + localparam sv2v_uu_cfgs_mem_noc_did_width_p = $signed(sv2v_uu_cfgs_proc_param_lp[255-:32]); + localparam sv2v_uu_cfgs_did_width_p = sv2v_uu_cfgs_mem_noc_did_width_p; + localparam [sv2v_uu_cfgs_did_width_p - 1:0] sv2v_uu_cfgs_ext_host_did_i_0 = 1'sb0; + bp_me_cfg_slice #(.bp_params_p(bp_params_p)) cfgs( + .clk_i(clk_i), + .reset_i(reset_r), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[1]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[1]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[1]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[1]), + .cfg_bus_o(cfg_bus_lo), + .did_i(my_did_i), + .host_did_i(sv2v_uu_cfgs_ext_host_did_i_0), + .cord_i(my_cord_i), + .cce_ucode_v_o(cce_ucode_v_lo), + .cce_ucode_w_o(cce_ucode_w_lo), + .cce_ucode_addr_o(cce_ucode_addr_lo), + .cce_ucode_data_o(cce_ucode_data_lo), + .cce_ucode_data_i(cce_ucode_data_li) + ); + bp_me_loopback #(.bp_params_p(bp_params_p)) loopback( + .clk_i(clk_i), + .reset_i(reset_r), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (2 * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[2 * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[2]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[2]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (2 * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[2 * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[2]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[2]) + ); + wire [1:0] mem_fwd_dst_lo; + wire [((((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + bp_common_pkg_tile_id_width_gp) + bp_common_pkg_dev_id_width_gp) + bp_common_pkg_dev_addr_width_gp) - 1:0] local_addr; + assign local_addr = mem_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + wire [3:0] device_fwd_li = local_addr[23-:4]; + localparam bp_common_pkg_dram_base_addr_gp = 40'h0080000000; + wire local_fwd_li = mem_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] < bp_common_pkg_dram_base_addr_gp; + localparam bp_common_pkg_cfg_dev_gp = 2; + wire is_cfg_fwd = local_fwd_li & (device_fwd_li == bp_common_pkg_cfg_dev_gp); + localparam bp_common_pkg_cache_dev_gp = 4; + wire is_mem_fwd = ~local_fwd_li || (local_fwd_li & (device_fwd_li == bp_common_pkg_cache_dev_gp)); + wire is_loopback_fwd = (local_fwd_li & ~is_cfg_fwd) & ~is_mem_fwd; + bsg_encode_one_hot #( + .width_p(3), + .lo_to_hi_p(1) + ) fwd_pe( + .i({is_loopback_fwd, is_cfg_fwd, is_mem_fwd}), + .addr_o(mem_fwd_dst_lo), + .v_o() + ); + wire [2:0] dev_rev_dst_lo = 1'sb0; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + bp_me_xbar_stream #( + .bp_params_p(bp_params_p), + .payload_width_p(mem_fwd_payload_width_lp), + .stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .num_source_p(1), + .num_sink_p(3) + ) fwd_xbar( + .clk_i(clk_i), + .reset_i(reset_r), + .msg_header_i(mem_fwd_header_lo), + .msg_data_i(mem_fwd_data_lo), + .msg_v_i(mem_fwd_v_lo), + .msg_ready_and_o(mem_fwd_ready_and_li), + .msg_dst_i(mem_fwd_dst_lo), + .msg_header_o(dev_fwd_header_li), + .msg_data_o(dev_fwd_data_li), + .msg_v_o(dev_fwd_v_li), + .msg_ready_and_i(dev_fwd_ready_and_lo) + ); + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_xbar_stream #( + .bp_params_p(bp_params_p), + .payload_width_p(mem_rev_payload_width_lp), + .stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .num_source_p(3), + .num_sink_p(1) + ) rev_xbar( + .clk_i(clk_i), + .reset_i(reset_r), + .msg_header_i(dev_rev_header_lo), + .msg_data_i(dev_rev_data_lo), + .msg_v_i(dev_rev_v_lo), + .msg_ready_and_o(dev_rev_ready_and_li), + .msg_dst_i(dev_rev_dst_lo), + .msg_header_o(mem_rev_header_li), + .msg_data_o(mem_rev_data_li), + .msg_v_o(mem_rev_v_li), + .msg_ready_and_i(mem_rev_ready_and_lo) + ); + bp_cce_wrapper #(.bp_params_p(bp_params_p)) cce( + .clk_i(clk_i), + .reset_i(reset_r), + .cfg_bus_i(cfg_bus_lo), + .ucode_v_i(cce_ucode_v_lo), + .ucode_w_i(cce_ucode_w_lo), + .ucode_addr_i(cce_ucode_addr_lo), + .ucode_data_i(cce_ucode_data_lo), + .ucode_data_o(cce_ucode_data_li), + .lce_req_header_i(lce_req_header_li), + .lce_req_data_i(lce_req_data_li), + .lce_req_v_i(lce_req_v_li), + .lce_req_ready_and_o(lce_req_ready_and_lo), + .lce_resp_header_i(lce_resp_header_li), + .lce_resp_data_i(lce_resp_data_li), + .lce_resp_v_i(lce_resp_v_li), + .lce_resp_ready_and_o(lce_resp_ready_and_lo), + .lce_cmd_header_o(lce_cmd_header_lo), + .lce_cmd_data_o(lce_cmd_data_lo), + .lce_cmd_v_o(lce_cmd_v_lo), + .lce_cmd_ready_and_i(lce_cmd_ready_and_li), + .mem_rev_header_i(mem_rev_header_li), + .mem_rev_data_i(mem_rev_data_li), + .mem_rev_v_i(mem_rev_v_li), + .mem_rev_ready_and_o(mem_rev_ready_and_lo), + .mem_fwd_header_o(mem_fwd_header_lo), + .mem_fwd_data_o(mem_fwd_data_lo), + .mem_fwd_v_o(mem_fwd_v_lo), + .mem_fwd_ready_and_i(mem_fwd_ready_and_li) + ); + wire [(l2_banks_p * ((1 + daddr_width_p) + l2_block_size_in_words_p)) - 1:0] dma_pkt_lo; + wire [l2_banks_p - 1:0] dma_pkt_v_lo; + wire [l2_banks_p - 1:0] dma_pkt_yumi_li; + wire [(l2_banks_p * l2_fill_width_p) - 1:0] dma_data_li; + wire [l2_banks_p - 1:0] dma_data_v_li; + wire [l2_banks_p - 1:0] dma_data_ready_and_lo; + wire [(l2_banks_p * l2_fill_width_p) - 1:0] dma_data_lo; + wire [l2_banks_p - 1:0] dma_data_v_lo; + wire [l2_banks_p - 1:0] dma_data_yumi_li; + bp_me_cache_slice #(.bp_params_p(bp_params_p)) l2s( + .clk_i(clk_i), + .reset_i(reset_r), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[0+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[0]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[0]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[0+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[0]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[0]), + .dma_pkt_o(dma_pkt_lo), + .dma_pkt_v_o(dma_pkt_v_lo), + .dma_pkt_ready_and_i(dma_pkt_yumi_li), + .dma_data_i(dma_data_li), + .dma_data_v_i(dma_data_v_li), + .dma_data_ready_and_o(dma_data_ready_and_lo), + .dma_data_o(dma_data_lo), + .dma_data_v_o(dma_data_v_lo), + .dma_data_ready_and_i(dma_data_yumi_li) + ); + wire [(l2_banks_p * (2 + dma_noc_flit_width_p)) - 1:0] dma_link_lo; + wire [(l2_banks_p * (2 + dma_noc_flit_width_p)) - 1:0] dma_link_li; + genvar _gv_i_83; + generate + for (_gv_i_83 = 0; _gv_i_83 < l2_banks_p; _gv_i_83 = _gv_i_83 + 1) begin : dma + localparam i = _gv_i_83; + wire [dma_noc_cord_width_p - 1:0] cord_li = my_cord_i[coh_noc_x_cord_width_p+:dma_noc_y_cord_width_p]; + wire [dma_noc_cid_width_p - 1:0] cid_li = i; + localparam sv2v_uu_dma2wh_wh_cord_width_p = dma_noc_cord_width_p; + localparam [dma_noc_cord_width_p - 1:0] sv2v_uu_dma2wh_ext_dest_wh_cord_i_1 = 1'sb1; + localparam sv2v_uu_dma2wh_wh_cid_width_p = dma_noc_cid_width_p; + localparam [dma_noc_cid_width_p - 1:0] sv2v_uu_dma2wh_ext_dest_wh_cid_i_0 = 1'sb0; + bsg_cache_dma_to_wormhole #( + .dma_addr_width_p(daddr_width_p), + .dma_burst_len_p(l2_block_size_in_fill_p), + .dma_mask_width_p(l2_block_size_in_words_p), + .wh_flit_width_p(dma_noc_flit_width_p), + .wh_cid_width_p(dma_noc_cid_width_p), + .wh_len_width_p(dma_noc_len_width_p), + .wh_cord_width_p(dma_noc_cord_width_p) + ) dma2wh( + .clk_i(clk_i), + .reset_i(reset_r), + .dma_pkt_i(dma_pkt_lo[i * ((1 + daddr_width_p) + l2_block_size_in_words_p)+:(1 + daddr_width_p) + l2_block_size_in_words_p]), + .dma_pkt_v_i(dma_pkt_v_lo[i]), + .dma_pkt_yumi_o(dma_pkt_yumi_li[i]), + .dma_data_o(dma_data_li[i * l2_fill_width_p+:l2_fill_width_p]), + .dma_data_v_o(dma_data_v_li[i]), + .dma_data_ready_and_i(dma_data_ready_and_lo[i]), + .dma_data_i(dma_data_lo[i * l2_fill_width_p+:l2_fill_width_p]), + .dma_data_v_i(dma_data_v_lo[i]), + .dma_data_yumi_o(dma_data_yumi_li[i]), + .wh_link_sif_i(dma_link_li[i * (2 + dma_noc_flit_width_p)+:2 + dma_noc_flit_width_p]), + .wh_link_sif_o(dma_link_lo[i * (2 + dma_noc_flit_width_p)+:2 + dma_noc_flit_width_p]), + .my_wh_cord_i(cord_li), + .my_wh_cid_i(cid_li), + .dest_wh_cord_i(sv2v_uu_dma2wh_ext_dest_wh_cord_i_1), + .dest_wh_cid_i(sv2v_uu_dma2wh_ext_dest_wh_cid_i_0) + ); + end + endgenerate + bsg_wormhole_concentrator #( + .flit_width_p(dma_noc_flit_width_p), + .len_width_p(dma_noc_len_width_p), + .cid_width_p(dma_noc_cid_width_p), + .cord_width_p(dma_noc_cord_width_p), + .num_in_p(l2_banks_p), + .hold_on_valid_p(1) + ) dma_concentrate( + .clk_i(clk_i), + .reset_i(reset_r), + .links_i(dma_link_lo), + .links_o(dma_link_li), + .concentrated_link_o(dma_link_o), + .concentrated_link_i(dma_link_i) + ); +endmodule +module bp_l2e_tile_node ( + core_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + dma_clk_i, + dma_reset_i, + my_did_i, + my_cord_i, + coh_lce_req_link_i, + coh_lce_req_link_o, + coh_lce_cmd_link_i, + coh_lce_cmd_link_o, + coh_lce_resp_link_i, + coh_lce_resp_link_o, + dma_link_i, + dma_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + input core_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input dma_clk_i; + input dma_reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_resp_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_resp_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * dma_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 2) * dma_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * dma_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * dma_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * dma_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * dma_noc_ral_link_width_lp)] dma_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * dma_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 2) * dma_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * dma_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * dma_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * dma_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * dma_noc_ral_link_width_lp)] dma_link_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] l2e_lce_req_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] l2e_lce_req_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] l2e_lce_cmd_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] l2e_lce_cmd_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] l2e_lce_resp_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] l2e_lce_resp_link_lo; + wire [(2 + dma_noc_flit_width_p) - 1:0] l2e_dma_link_lo; + wire [(2 + dma_noc_flit_width_p) - 1:0] l2e_dma_link_li; + bp_l2e_tile #(.bp_params_p(bp_params_p)) l2e_tile( + .clk_i(core_clk_i), + .reset_i(core_reset_i), + .my_did_i(my_did_i), + .my_cord_i(my_cord_i), + .lce_req_link_i(l2e_lce_req_link_li), + .lce_req_link_o(l2e_lce_req_link_lo), + .lce_cmd_link_i(l2e_lce_cmd_link_li), + .lce_cmd_link_o(l2e_lce_cmd_link_lo), + .lce_resp_link_i(l2e_lce_resp_link_li), + .lce_resp_link_o(l2e_lce_resp_link_lo), + .dma_link_o(l2e_dma_link_lo), + .dma_link_i(l2e_dma_link_li) + ); + localparam [49:0] bsg_wormhole_router_pkg_StrictYX = 50'b01001100011101111101111110111110111000110010111111; + bp_nd_socket #( + .flit_width_p(coh_noc_flit_width_p), + .dims_p(coh_noc_dims_p), + .cord_dims_p(coh_noc_dims_p), + .cord_markers_pos_p(coh_noc_cord_markers_pos_p), + .len_width_p(coh_noc_len_width_p), + .routing_matrix_p(bsg_wormhole_router_pkg_StrictYX), + .async_clk_p(async_coh_clk_p), + .els_p(3) + ) l2e_coh_socket( + .tile_clk_i(core_clk_i), + .tile_reset_i(core_reset_i), + .network_clk_i(coh_clk_i), + .network_reset_i(coh_reset_i), + .my_cord_i(my_cord_i), + .network_link_i({coh_lce_req_link_i, coh_lce_cmd_link_i, coh_lce_resp_link_i}), + .network_link_o({coh_lce_req_link_o, coh_lce_cmd_link_o, coh_lce_resp_link_o}), + .tile_link_i({l2e_lce_req_link_lo, l2e_lce_cmd_link_lo, l2e_lce_resp_link_lo}), + .tile_link_o({l2e_lce_req_link_li, l2e_lce_cmd_link_li, l2e_lce_resp_link_li}) + ); + localparam [17:0] bsg_wormhole_router_pkg_StrictX = 18'b011101111011101111; + bp_nd_socket #( + .flit_width_p(dma_noc_flit_width_p), + .dims_p(dma_noc_dims_p), + .cord_dims_p(dma_noc_cord_dims_p), + .cord_markers_pos_p(dma_noc_cord_markers_pos_p), + .len_width_p(dma_noc_len_width_p), + .routing_matrix_p(bsg_wormhole_router_pkg_StrictX), + .async_clk_p(async_dma_clk_p), + .els_p(1) + ) l2e_mem_socket( + .tile_clk_i(core_clk_i), + .tile_reset_i(core_reset_i), + .network_clk_i(dma_clk_i), + .network_reset_i(dma_reset_i), + .my_cord_i(my_cord_i[coh_noc_x_cord_width_p+:dma_noc_y_cord_width_p]), + .network_link_i(dma_link_i), + .network_link_o(dma_link_o), + .tile_link_i(l2e_dma_link_lo), + .tile_link_o(l2e_dma_link_li) + ); +endmodule +module bp_io_complex ( + core_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + mem_clk_i, + mem_reset_i, + my_did_i, + host_did_i, + coh_req_link_i, + coh_req_link_o, + coh_cmd_link_i, + coh_cmd_link_o, + mem_fwd_link_i, + mem_fwd_link_o, + mem_rev_link_i, + mem_rev_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam mem_noc_ral_link_width_lp = mem_noc_flit_width_p + 2; + input core_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input mem_clk_i; + input mem_reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [mem_noc_did_width_p - 1:0] host_did_i; + input [(ic_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_req_link_i; + output wire [(ic_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_req_link_o; + input [(ic_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_cmd_link_i; + output wire [(ic_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_cmd_link_o; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_fwd_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_fwd_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_rev_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_rev_link_o; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0)) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) * (2 + mem_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) * (2 + mem_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) * (2 + mem_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) * (2 + mem_noc_flit_width_p))] mem_fwd_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0)) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) * (2 + mem_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) * (2 + mem_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) * (2 + mem_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) * (2 + mem_noc_flit_width_p))] mem_fwd_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0)) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) * (2 + mem_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) * (2 + mem_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) * (2 + mem_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) * (2 + mem_noc_flit_width_p))] mem_rev_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0)) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) * (2 + mem_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) * (2 + mem_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) * (2 + mem_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) * (2 + mem_noc_flit_width_p))] mem_rev_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p))] mem_fwd_hor_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p))] mem_fwd_hor_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p))] mem_rev_hor_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p))] mem_rev_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_lo; + genvar _gv_i_84; + function automatic signed [coh_noc_x_cord_width_p - 1:0] sv2v_cast_0F33E_signed; + input reg signed [coh_noc_x_cord_width_p - 1:0] inp; + sv2v_cast_0F33E_signed = inp; + endfunction + generate + for (_gv_i_84 = 0; _gv_i_84 < ic_x_dim_p; _gv_i_84 = _gv_i_84 + 1) begin : node + localparam i = _gv_i_84; + wire [coh_noc_cord_width_p - 1:0] cord_li = {1'sb0, sv2v_cast_0F33E_signed(i + sac_x_dim_p)}; + bp_io_tile_node #(.bp_params_p(bp_params_p)) io( + .core_clk_i(core_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .mem_clk_i(mem_clk_i), + .mem_reset_i(mem_reset_i), + .host_did_i(host_did_i), + .my_did_i(my_did_i), + .my_cord_i(cord_li), + .coh_lce_req_link_i(lce_req_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_req_link_o(lce_req_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_i(lce_cmd_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_o(lce_cmd_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .mem_fwd_link_i(mem_fwd_link_li[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)]), + .mem_fwd_link_o(mem_fwd_link_lo[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)]), + .mem_rev_link_i(mem_rev_link_li[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)]), + .mem_rev_link_o(mem_rev_link_lo[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 1)) + (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)]) + ); + end + endgenerate + assign lce_req_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * ic_x_dim_p] = 1'sb0; + assign lce_req_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * ic_x_dim_p] = coh_req_link_i; + assign lce_req_hor_link_li = 1'sb0; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(ic_x_dim_p), + .y_max_p(1) + ) coh_req_mesh( + .outs_i(lce_req_link_lo), + .ins_o(lce_req_link_li), + .hor_i(lce_req_hor_link_li), + .hor_o(lce_req_hor_link_lo), + .ver_i(lce_req_ver_link_li), + .ver_o(lce_req_ver_link_lo) + ); + assign coh_req_link_o = lce_req_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * ic_x_dim_p]; + assign lce_cmd_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * ic_x_dim_p] = 1'sb0; + assign lce_cmd_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * ic_x_dim_p] = coh_cmd_link_i; + assign lce_cmd_hor_link_li = 1'sb0; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(ic_x_dim_p), + .y_max_p(1) + ) coh_cmd_mesh( + .outs_i(lce_cmd_link_lo), + .ins_o(lce_cmd_link_li), + .hor_i(lce_cmd_hor_link_li), + .hor_o(lce_cmd_hor_link_lo), + .ver_i(lce_cmd_ver_link_li), + .ver_o(lce_cmd_ver_link_lo) + ); + assign coh_cmd_link_o = lce_cmd_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * ic_x_dim_p) + (ic_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * ic_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * ic_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * ic_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * ic_x_dim_p]; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + mem_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + mem_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + mem_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + mem_noc_flit_width_p))] mem_fwd_mesh_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + mem_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + mem_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + mem_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + mem_noc_flit_width_p))] mem_fwd_mesh_li; + genvar _gv_i_85; + generate + for (_gv_i_85 = 0; _gv_i_85 < ic_x_dim_p; _gv_i_85 = _gv_i_85 + 1) begin : cmd_link + localparam i = _gv_i_85; + assign mem_fwd_mesh_lo[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)] = mem_fwd_link_lo[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)]; + assign mem_fwd_link_li[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)] = mem_fwd_mesh_li[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)]; + end + endgenerate + assign mem_fwd_hor_link_li = mem_fwd_link_i; + bsg_mesh_stitch #( + .width_p(mem_noc_ral_link_width_lp), + .x_max_p(ic_x_dim_p), + .y_max_p(1) + ) fwd_mesh( + .outs_i(mem_fwd_mesh_lo), + .ins_o(mem_fwd_mesh_li), + .hor_i(mem_fwd_hor_link_li), + .hor_o(mem_fwd_hor_link_lo), + .ver_i(), + .ver_o() + ); + assign mem_fwd_link_o = mem_fwd_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + mem_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + mem_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + mem_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + mem_noc_flit_width_p))] mem_rev_mesh_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + mem_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + mem_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + mem_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + mem_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + mem_noc_flit_width_p))] mem_rev_mesh_li; + genvar _gv_i_86; + generate + for (_gv_i_86 = 0; _gv_i_86 < ic_x_dim_p; _gv_i_86 = _gv_i_86 + 1) begin : resp_link + localparam i = _gv_i_86; + assign mem_rev_mesh_lo[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)] = mem_rev_link_lo[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)]; + assign mem_rev_link_li[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 1) + 0) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1))) : (((i * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 1)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 1) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)] = mem_rev_mesh_li[(2 + mem_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : (sv2v_cast_3((3'd0 + 1) + 1) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (ic_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (ic_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + mem_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1)]; + end + endgenerate + assign mem_rev_hor_link_li = mem_rev_link_i; + bsg_mesh_stitch #( + .width_p(mem_noc_ral_link_width_lp), + .x_max_p(ic_x_dim_p), + .y_max_p(ic_y_dim_p) + ) rev_mesh( + .outs_i(mem_rev_mesh_lo), + .ins_o(mem_rev_mesh_li), + .hor_i(mem_rev_hor_link_li), + .hor_o(mem_rev_hor_link_lo), + .ver_i(), + .ver_o() + ); + assign mem_rev_link_o = mem_rev_hor_link_lo; +endmodule +module bp_io_link_to_lce ( + clk_i, + reset_i, + lce_id_i, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i, + lce_req_header_o, + lce_req_data_o, + lce_req_v_o, + lce_req_ready_and_i, + lce_cmd_header_i, + lce_cmd_data_i, + lce_cmd_v_i, + lce_cmd_ready_and_o +); + reg _sv2v_0; + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + input clk_i; + input reset_i; + input [lce_id_width_p - 1:0] lce_id_i; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + output wire [lce_req_header_width_lp - 1:0] lce_req_header_o; + output wire [bedrock_fill_width_p - 1:0] lce_req_data_o; + output wire lce_req_v_o; + input lce_req_ready_and_i; + input [lce_cmd_header_width_lp - 1:0] lce_cmd_header_i; + input [bedrock_fill_width_p - 1:0] lce_cmd_data_i; + input lce_cmd_v_i; + output wire lce_cmd_ready_and_o; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_cast_i; + assign mem_fwd_header_cast_i = mem_fwd_header_i; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_cast_o; + assign mem_rev_header_o = mem_rev_header_cast_o; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_cast_o; + assign lce_req_header_o = lce_req_header_cast_o; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_cast_i; + assign lce_cmd_header_cast_i = lce_cmd_header_i; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_fwd_header_lo; + wire [bedrock_fill_width_p - 1:0] fsm_fwd_data_lo; + wire fsm_fwd_v_lo; + reg fsm_fwd_yumi_li; + wire [paddr_width_p - 1:0] fsm_fwd_addr_lo; + wire fsm_fwd_new_lo; + wire fsm_fwd_critical_lo; + wire fsm_fwd_last_lo; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_fwd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp) + ) fwd_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(mem_fwd_header_cast_i), + .msg_data_i(mem_fwd_data_i), + .msg_v_i(mem_fwd_v_i), + .msg_ready_and_o(mem_fwd_ready_and_o), + .fsm_header_o(fsm_fwd_header_lo), + .fsm_data_o(fsm_fwd_data_lo), + .fsm_v_o(fsm_fwd_v_lo), + .fsm_yumi_i(fsm_fwd_yumi_li), + .fsm_addr_o(fsm_fwd_addr_lo), + .fsm_new_o(fsm_fwd_new_lo), + .fsm_critical_o(fsm_fwd_critical_lo), + .fsm_last_o(fsm_fwd_last_lo) + ); + reg [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_req_header_li; + reg [bedrock_fill_width_p - 1:0] fsm_req_data_li; + reg fsm_req_v_li; + wire fsm_req_ready_then_lo; + wire [paddr_width_p - 1:0] fsm_req_addr_lo; + wire fsm_req_new_lo; + wire fsm_req_critical_lo; + wire fsm_req_last_lo; + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_req_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp) + ) req_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(lce_req_header_cast_o), + .msg_data_o(lce_req_data_o), + .msg_v_o(lce_req_v_o), + .msg_ready_and_i(lce_req_ready_and_i), + .fsm_header_i(fsm_req_header_li), + .fsm_data_i(fsm_req_data_li), + .fsm_v_i(fsm_req_v_li), + .fsm_ready_then_o(fsm_req_ready_then_lo), + .fsm_addr_o(fsm_req_addr_lo), + .fsm_new_o(fsm_req_new_lo), + .fsm_critical_o(fsm_req_critical_lo), + .fsm_last_o(fsm_req_last_lo) + ); + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] fsm_cmd_header_lo; + wire [bedrock_fill_width_p - 1:0] fsm_cmd_data_lo; + wire fsm_cmd_v_lo; + reg fsm_cmd_yumi_li; + wire [paddr_width_p - 1:0] fsm_cmd_addr_lo; + wire fsm_cmd_new_lo; + wire fsm_cmd_critical_lo; + wire fsm_cmd_last_lo; + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + bp_me_stream_pump_in #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(lce_cmd_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp) + ) cmd_pump_in( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_i(lce_cmd_header_cast_i), + .msg_data_i(lce_cmd_data_i), + .msg_v_i(lce_cmd_v_i), + .msg_ready_and_o(lce_cmd_ready_and_o), + .fsm_header_o(fsm_cmd_header_lo), + .fsm_data_o(fsm_cmd_data_lo), + .fsm_v_o(fsm_cmd_v_lo), + .fsm_yumi_i(fsm_cmd_yumi_li), + .fsm_addr_o(fsm_cmd_addr_lo), + .fsm_new_o(fsm_cmd_new_lo), + .fsm_critical_o(fsm_cmd_critical_lo), + .fsm_last_o(fsm_cmd_last_lo) + ); + reg [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] fsm_rev_header_li; + reg [bedrock_fill_width_p - 1:0] fsm_rev_data_li; + reg fsm_rev_v_li; + wire fsm_rev_ready_then_lo; + wire [paddr_width_p - 1:0] fsm_rev_addr_lo; + wire fsm_rev_new_lo; + wire fsm_rev_critical_lo; + wire fsm_rev_last_lo; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_stream_pump_out #( + .bp_params_p(bp_params_p), + .data_width_p(bedrock_fill_width_p), + .payload_width_p(mem_rev_payload_width_lp), + .msg_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .fsm_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp) + ) rev_pump_out( + .clk_i(clk_i), + .reset_i(reset_i), + .msg_header_o(mem_rev_header_cast_o), + .msg_data_o(mem_rev_data_o), + .msg_v_o(mem_rev_v_o), + .msg_ready_and_i(mem_rev_ready_and_i), + .fsm_header_i(fsm_rev_header_li), + .fsm_data_i(fsm_rev_data_li), + .fsm_v_i(fsm_rev_v_li), + .fsm_ready_then_o(fsm_rev_ready_then_lo), + .fsm_addr_o(fsm_rev_addr_lo), + .fsm_new_o(fsm_rev_new_lo), + .fsm_critical_o(fsm_rev_critical_lo), + .fsm_last_o(fsm_rev_last_lo) + ); + wire [cce_id_width_p - 1:0] cce_id_lo; + bp_me_addr_to_cce_id #(.bp_params_p(bp_params_p)) addr_map( + .paddr_i(fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]), + .cce_id_o(cce_id_lo) + ); + wire mem_fwd_wr_not_rd = fsm_fwd_header_lo[3-:4] == 4'b0001; + wire lce_cmd_wr_not_rd = fsm_cmd_header_lo[3-:4] == 4'b1100; + always @(*) begin + if (_sv2v_0) + ; + fsm_req_header_li[3-:4] = (mem_fwd_wr_not_rd ? 4'b0011 : 4'b0010); + fsm_req_header_li[7-:4] = 4'b0000; + fsm_req_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_req_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_fwd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_req_header_li[((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))-:((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) >= (3 + (paddr_width_p + 8)) ? ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (3 + (paddr_width_p + 8))) + 1 : ((3 + (paddr_width_p + 8)) - (((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7)))) + 1)] = 1'sb0; + fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1))))-:((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) >= (cce_id_width_p + (did_width_p + 0)) ? ((lce_id_width_p + (cce_id_width_p + (did_width_p - 1))) - (cce_id_width_p + (did_width_p + 0))) + 1 : ((cce_id_width_p + (did_width_p + 0)) - (lce_id_width_p + (cce_id_width_p + (did_width_p - 1)))) + 1)] = lce_id_i; + fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)] = cce_id_lo; + fsm_req_header_li[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p] = fsm_fwd_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + fsm_req_data_li = fsm_fwd_data_lo; + fsm_req_v_li = fsm_req_ready_then_lo & fsm_fwd_v_lo; + fsm_fwd_yumi_li = fsm_req_v_li; + fsm_rev_header_li[3-:4] = (lce_cmd_wr_not_rd ? 4'b0001 : 4'b0000); + fsm_rev_header_li[7-:4] = 4'b0000; + fsm_rev_header_li[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] = fsm_cmd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + fsm_rev_header_li[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)] = fsm_cmd_header_lo[3 + (paddr_width_p + 7)-:((3 + (paddr_width_p + 7)) >= (paddr_width_p + 8) ? ((3 + (paddr_width_p + 7)) - (paddr_width_p + 8)) + 1 : ((paddr_width_p + 8) - (3 + (paddr_width_p + 7))) + 1)]; + fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))-:(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) >= (3 + (paddr_width_p + 8)) ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (3 + (paddr_width_p + 8))) + 1 : ((3 + (paddr_width_p + 8)) - ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7)))) + 1)] = 1'sb0; + fsm_rev_header_li[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))] = fsm_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (did_width_p - 1))-:did_width_p]; + fsm_rev_data_li = fsm_cmd_data_lo; + fsm_rev_v_li = fsm_rev_ready_then_lo & fsm_cmd_v_lo; + fsm_cmd_yumi_li = fsm_rev_v_li; + end + initial _sv2v_0 = 0; +endmodule +module bp_io_tile ( + clk_i, + reset_i, + my_did_i, + host_did_i, + my_cord_i, + lce_req_link_i, + lce_req_link_o, + lce_cmd_link_i, + lce_cmd_link_o, + mem_fwd_link_i, + mem_fwd_link_o, + mem_rev_link_i, + mem_rev_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam mem_noc_ral_link_width_lp = mem_noc_flit_width_p + 2; + input clk_i; + input reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [mem_noc_did_width_p - 1:0] host_did_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + input [coh_noc_ral_link_width_lp - 1:0] lce_req_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_req_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_o; + input [mem_noc_ral_link_width_lp - 1:0] mem_fwd_link_i; + output wire [mem_noc_ral_link_width_lp - 1:0] mem_fwd_link_o; + input [mem_noc_ral_link_width_lp - 1:0] mem_rev_link_i; + output wire [mem_noc_ral_link_width_lp - 1:0] mem_rev_link_o; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_i; + assign lce_req_link_cast_i = lce_req_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_o; + assign lce_req_link_o = lce_req_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_i; + assign lce_cmd_link_cast_i = lce_cmd_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_o; + assign lce_cmd_link_o = lce_cmd_link_cast_o; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_li; + wire [bedrock_fill_width_p - 1:0] mem_fwd_data_li; + wire mem_fwd_v_li; + wire mem_fwd_ready_and_lo; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_lo; + wire [bedrock_fill_width_p - 1:0] mem_rev_data_lo; + wire mem_rev_v_lo; + wire mem_rev_ready_and_li; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_lo; + wire [bedrock_fill_width_p - 1:0] lce_req_data_lo; + wire lce_req_v_lo; + wire lce_req_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_req_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_req_dst_cid_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_li; + wire [bedrock_fill_width_p - 1:0] lce_cmd_data_li; + wire lce_cmd_v_li; + wire lce_cmd_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_lo; + wire [bedrock_fill_width_p - 1:0] lce_cmd_data_lo; + wire lce_cmd_v_lo; + wire lce_cmd_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_cmd_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_cmd_dst_cid_lo; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_li; + wire [bedrock_fill_width_p - 1:0] lce_req_data_li; + wire lce_req_v_li; + wire lce_req_ready_and_lo; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_lo; + wire [bedrock_fill_width_p - 1:0] mem_fwd_data_lo; + wire mem_fwd_v_lo; + wire mem_fwd_ready_and_li; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_li; + wire [bedrock_fill_width_p - 1:0] mem_rev_data_li; + wire mem_rev_v_li; + wire mem_rev_ready_and_lo; + reg reset_r; + always @(posedge clk_i) reset_r <= reset_i; + wire [cce_id_width_p - 1:0] cce_id_li; + wire [lce_id_width_p - 1:0] lce_id_li; + bp_me_cord_to_id #(.bp_params_p(bp_params_p)) id_map( + .cord_i(my_cord_i), + .core_id_o(), + .cce_id_o(cce_id_li), + .lce_id0_o(lce_id_li), + .lce_id1_o() + ); + bp_io_link_to_lce #(.bp_params_p(bp_params_p)) lce_link( + .clk_i(clk_i), + .reset_i(reset_r), + .lce_id_i(lce_id_li), + .mem_fwd_header_i(mem_fwd_header_li), + .mem_fwd_data_i(mem_fwd_data_li), + .mem_fwd_v_i(mem_fwd_v_li), + .mem_fwd_ready_and_o(mem_fwd_ready_and_lo), + .mem_rev_header_o(mem_rev_header_lo), + .mem_rev_data_o(mem_rev_data_lo), + .mem_rev_v_o(mem_rev_v_lo), + .mem_rev_ready_and_i(mem_rev_ready_and_li), + .lce_req_header_o(lce_req_header_lo), + .lce_req_data_o(lce_req_data_lo), + .lce_req_v_o(lce_req_v_lo), + .lce_req_ready_and_i(lce_req_ready_and_li), + .lce_cmd_header_i(lce_cmd_header_li), + .lce_cmd_data_i(lce_cmd_data_li), + .lce_cmd_v_i(lce_cmd_v_li), + .lce_cmd_ready_and_o(lce_cmd_ready_and_lo) + ); + bp_io_cce #(.bp_params_p(bp_params_p)) io_cce( + .clk_i(clk_i), + .reset_i(reset_r), + .cce_id_i(cce_id_li), + .lce_req_header_i(lce_req_header_li), + .lce_req_data_i(lce_req_data_li), + .lce_req_v_i(lce_req_v_li), + .lce_req_ready_and_o(lce_req_ready_and_lo), + .lce_cmd_header_o(lce_cmd_header_lo), + .lce_cmd_data_o(lce_cmd_data_lo), + .lce_cmd_v_o(lce_cmd_v_lo), + .lce_cmd_ready_and_i(lce_cmd_ready_and_li), + .mem_fwd_header_o(mem_fwd_header_lo), + .mem_fwd_data_o(mem_fwd_data_lo), + .mem_fwd_v_o(mem_fwd_v_lo), + .mem_fwd_ready_and_i(mem_fwd_ready_and_li), + .mem_rev_header_i(mem_rev_header_li), + .mem_rev_data_i(mem_rev_data_li), + .mem_rev_v_i(mem_rev_v_li), + .mem_rev_ready_and_o(mem_rev_ready_and_lo) + ); + bp_me_cce_id_to_cord #(.bp_params_p(bp_params_p)) req_router_cord( + .cce_id_i(lce_req_header_lo[(((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)]), + .cce_cord_o(lce_req_dst_cord_lo), + .cce_cid_o(lce_req_dst_cid_lo) + ); + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_req_header_width_lp), + .pr_payload_width_p(lce_req_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_req_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_req_header_lo), + .pr_data_i(lce_req_data_lo), + .pr_v_i(lce_req_v_lo), + .pr_ready_and_o(lce_req_ready_and_li), + .dst_cord_i(lce_req_dst_cord_lo), + .dst_cid_i(lce_req_dst_cid_lo), + .link_data_o(lce_req_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_req_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_req_link_cast_i[coh_noc_flit_width_p + 0]) + ); + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_req_header_width_lp), + .pr_payload_width_p(lce_req_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_req_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_req_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_req_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(lce_req_link_cast_o[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_req_header_li), + .pr_data_o(lce_req_data_li), + .pr_v_o(lce_req_v_li), + .pr_ready_and_i(lce_req_ready_and_lo) + ); + bp_me_lce_id_to_cord #(.bp_params_p(bp_params_p)) cmd_router_cord( + .lce_id_i(lce_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)]), + .lce_cord_o(lce_cmd_dst_cord_lo), + .lce_cid_o(lce_cmd_dst_cid_lo) + ); + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_cmd_header_width_lp), + .pr_payload_width_p(lce_cmd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_cmd_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_cmd_header_lo), + .pr_data_i(lce_cmd_data_lo), + .pr_v_i(lce_cmd_v_lo), + .pr_ready_and_o(lce_cmd_ready_and_li), + .dst_cord_i(lce_cmd_dst_cord_lo), + .dst_cid_i(lce_cmd_dst_cid_lo), + .link_data_o(lce_cmd_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_cmd_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_cmd_link_cast_i[coh_noc_flit_width_p + 0]) + ); + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_cmd_header_width_lp), + .pr_payload_width_p(lce_cmd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_cmd_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_cmd_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_cmd_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(lce_cmd_link_cast_o[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_cmd_header_li), + .pr_data_o(lce_cmd_data_li), + .pr_v_o(lce_cmd_v_li), + .pr_ready_and_i(lce_cmd_ready_and_lo) + ); + wire [((paddr_width_p - daddr_width_p) + daddr_width_p) - 1:0] global_addr_lo; + wire [((((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + bp_common_pkg_tile_id_width_gp) + bp_common_pkg_dev_id_width_gp) + bp_common_pkg_dev_addr_width_gp) - 1:0] local_addr_lo; + assign global_addr_lo = mem_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + assign local_addr_lo = mem_fwd_header_lo[paddr_width_p + 7-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + localparam bp_common_pkg_host_dev_gp = 1; + wire is_host_addr = ~local_addr_lo[(((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + 30-:((paddr_width_p - 1) >= 31 ? ((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp : 32 - ((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + 30))] && (local_addr_lo[23-:4] == bp_common_pkg_host_dev_gp); + wire [mem_noc_did_width_p - 1:0] dst_did_lo = (is_host_addr ? host_did_i : global_addr_lo[(paddr_width_p - daddr_width_p) + (daddr_width_p - 1)-:(((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) >= (daddr_width_p + 0) ? (((paddr_width_p - daddr_width_p) + (daddr_width_p - 1)) - (daddr_width_p + 0)) + 1 : ((daddr_width_p + 0) - ((paddr_width_p - daddr_width_p) + (daddr_width_p - 1))) + 1)]); + wire [(2 + mem_noc_flit_width_p) - 1:0] mem_fwd_link_cast_i; + assign mem_fwd_link_cast_i = mem_fwd_link_i; + wire [(2 + mem_noc_flit_width_p) - 1:0] mem_rev_link_cast_o; + assign mem_rev_link_o = mem_rev_link_cast_o; + wire [(2 + mem_noc_flit_width_p) - 1:0] mem_fwd_link_cast_o; + assign mem_fwd_link_o = mem_fwd_link_cast_o; + wire [(2 + mem_noc_flit_width_p) - 1:0] mem_rev_link_cast_i; + assign mem_rev_link_cast_i = mem_rev_link_i; + wire [mem_noc_cord_width_p - 1:0] mem_fwd_dst_cord_lo = dst_did_lo; + wire [mem_noc_cid_width_p - 1:0] mem_fwd_dst_cid_lo = 1'sb0; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(mem_noc_flit_width_p), + .cord_width_p(mem_noc_cord_width_p), + .len_width_p(mem_noc_len_width_p), + .cid_width_p(mem_noc_cid_width_p), + .pr_hdr_width_p(mem_fwd_header_width_lp), + .pr_payload_width_p(mem_fwd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) mem_fwd_stream_to_wormhole( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(mem_fwd_header_lo), + .pr_data_i(mem_fwd_data_lo), + .pr_v_i(mem_fwd_v_lo), + .pr_ready_and_o(mem_fwd_ready_and_li), + .dst_cord_i(mem_fwd_dst_cord_lo), + .dst_cid_i(mem_fwd_dst_cid_lo), + .link_data_o(mem_fwd_link_cast_o[mem_noc_flit_width_p - 1-:mem_noc_flit_width_p]), + .link_v_o(mem_fwd_link_cast_o[mem_noc_flit_width_p + 1]), + .link_ready_and_i(mem_fwd_link_cast_i[mem_noc_flit_width_p + 0]) + ); + wire [mem_noc_cord_width_p - 1:0] mem_rev_dst_cord_lo = mem_rev_header_lo[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + wire [mem_noc_cid_width_p - 1:0] mem_rev_dst_cid_lo = 1'sb0; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(mem_noc_flit_width_p), + .cord_width_p(mem_noc_cord_width_p), + .len_width_p(mem_noc_len_width_p), + .cid_width_p(mem_noc_cid_width_p), + .pr_hdr_width_p(mem_rev_header_width_lp), + .pr_payload_width_p(mem_rev_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) mem_rev_stream_to_wormhole( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(mem_rev_header_lo), + .pr_data_i(mem_rev_data_lo), + .pr_v_i(mem_rev_v_lo), + .pr_ready_and_o(mem_rev_ready_and_li), + .dst_cord_i(mem_rev_dst_cord_lo), + .dst_cid_i(mem_rev_dst_cid_lo), + .link_data_o(mem_rev_link_cast_o[mem_noc_flit_width_p - 1-:mem_noc_flit_width_p]), + .link_v_o(mem_rev_link_cast_o[mem_noc_flit_width_p + 1]), + .link_ready_and_i(mem_rev_link_cast_i[mem_noc_flit_width_p + 0]) + ); + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(mem_noc_flit_width_p), + .cord_width_p(mem_noc_cord_width_p), + .len_width_p(mem_noc_len_width_p), + .cid_width_p(mem_noc_cid_width_p), + .pr_hdr_width_p(mem_fwd_header_width_lp), + .pr_payload_width_p(mem_fwd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) mem_fwd_wormhole_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(mem_fwd_link_cast_i[mem_noc_flit_width_p - 1-:mem_noc_flit_width_p]), + .link_v_i(mem_fwd_link_cast_i[mem_noc_flit_width_p + 1]), + .link_ready_and_o(mem_fwd_link_cast_o[mem_noc_flit_width_p + 0]), + .pr_hdr_o(mem_fwd_header_li), + .pr_data_o(mem_fwd_data_li), + .pr_v_o(mem_fwd_v_li), + .pr_ready_and_i(mem_fwd_ready_and_lo) + ); + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(mem_noc_flit_width_p), + .cord_width_p(mem_noc_cord_width_p), + .len_width_p(mem_noc_len_width_p), + .cid_width_p(mem_noc_cid_width_p), + .pr_hdr_width_p(mem_rev_header_width_lp), + .pr_payload_width_p(mem_rev_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) mem_rev_wormhole_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(mem_rev_link_cast_i[mem_noc_flit_width_p - 1-:mem_noc_flit_width_p]), + .link_v_i(mem_rev_link_cast_i[mem_noc_flit_width_p + 1]), + .link_ready_and_o(mem_rev_link_cast_o[mem_noc_flit_width_p + 0]), + .pr_hdr_o(mem_rev_header_li), + .pr_data_o(mem_rev_data_li), + .pr_v_o(mem_rev_v_li), + .pr_ready_and_i(mem_rev_ready_and_lo) + ); +endmodule +module bp_io_tile_node ( + core_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + mem_clk_i, + mem_reset_i, + my_did_i, + host_did_i, + my_cord_i, + coh_lce_req_link_i, + coh_lce_req_link_o, + coh_lce_cmd_link_i, + coh_lce_cmd_link_o, + mem_fwd_link_i, + mem_fwd_link_o, + mem_rev_link_i, + mem_rev_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam mem_noc_ral_link_width_lp = mem_noc_flit_width_p + 2; + input core_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input mem_clk_i; + input mem_reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [mem_noc_did_width_p - 1:0] host_did_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_fwd_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_fwd_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_rev_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_rev_link_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_req_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_req_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_cmd_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_cmd_link_lo; + wire [(2 + mem_noc_flit_width_p) - 1:0] core_mem_fwd_link_li; + wire [(2 + mem_noc_flit_width_p) - 1:0] core_mem_fwd_link_lo; + wire [(2 + mem_noc_flit_width_p) - 1:0] core_mem_rev_link_li; + wire [(2 + mem_noc_flit_width_p) - 1:0] core_mem_rev_link_lo; + bp_io_tile #(.bp_params_p(bp_params_p)) io_tile( + .clk_i(core_clk_i), + .reset_i(core_reset_i), + .host_did_i(host_did_i), + .my_did_i(my_did_i), + .my_cord_i(my_cord_i), + .lce_req_link_i(core_lce_req_link_li), + .lce_req_link_o(core_lce_req_link_lo), + .lce_cmd_link_i(core_lce_cmd_link_li), + .lce_cmd_link_o(core_lce_cmd_link_lo), + .mem_fwd_link_i(core_mem_fwd_link_li), + .mem_fwd_link_o(core_mem_fwd_link_lo), + .mem_rev_link_i(core_mem_rev_link_li), + .mem_rev_link_o(core_mem_rev_link_lo) + ); + localparam [49:0] bsg_wormhole_router_pkg_StrictYX = 50'b01001100011101111101111110111110111000110010111111; + bp_nd_socket #( + .flit_width_p(coh_noc_flit_width_p), + .dims_p(coh_noc_dims_p), + .cord_dims_p(coh_noc_dims_p), + .cord_markers_pos_p(coh_noc_cord_markers_pos_p), + .len_width_p(coh_noc_len_width_p), + .routing_matrix_p(bsg_wormhole_router_pkg_StrictYX), + .async_clk_p(async_coh_clk_p), + .els_p(2) + ) io_coh_socket( + .tile_clk_i(core_clk_i), + .tile_reset_i(core_reset_i), + .network_clk_i(coh_clk_i), + .network_reset_i(coh_reset_i), + .my_cord_i(my_cord_i), + .network_link_i({coh_lce_req_link_i, coh_lce_cmd_link_i}), + .network_link_o({coh_lce_req_link_o, coh_lce_cmd_link_o}), + .tile_link_i({core_lce_req_link_lo, core_lce_cmd_link_lo}), + .tile_link_o({core_lce_req_link_li, core_lce_cmd_link_li}) + ); + localparam [17:0] bsg_wormhole_router_pkg_StrictX = 18'b011101111011101111; + function automatic [mem_noc_cord_width_p - 1:0] sv2v_cast_3D10A; + input reg [mem_noc_cord_width_p - 1:0] inp; + sv2v_cast_3D10A = inp; + endfunction + bp_nd_socket #( + .flit_width_p(mem_noc_flit_width_p), + .dims_p(mem_noc_dims_p), + .cord_dims_p(mem_noc_cord_dims_p), + .cord_markers_pos_p(mem_noc_cord_markers_pos_p), + .len_width_p(mem_noc_len_width_p), + .routing_matrix_p(bsg_wormhole_router_pkg_StrictX), + .async_clk_p(async_mem_clk_p), + .els_p(2) + ) io_socket( + .tile_clk_i(core_clk_i), + .tile_reset_i(core_reset_i), + .network_clk_i(mem_clk_i), + .network_reset_i(mem_reset_i), + .my_cord_i(sv2v_cast_3D10A(my_did_i)), + .network_link_i({mem_fwd_link_i, mem_rev_link_i}), + .network_link_o({mem_fwd_link_o, mem_rev_link_o}), + .tile_link_i({core_mem_fwd_link_lo, core_mem_rev_link_lo}), + .tile_link_o({core_mem_fwd_link_li, core_mem_rev_link_li}) + ); +endmodule +module bp_mem_complex ( + core_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + dma_clk_i, + dma_reset_i, + my_did_i, + coh_req_link_i, + coh_req_link_o, + coh_cmd_link_i, + coh_cmd_link_o, + coh_resp_link_i, + coh_resp_link_o, + dma_link_i, + dma_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + input core_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input dma_clk_i; + input dma_reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [(mc_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_req_link_i; + output wire [(mc_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_req_link_o; + input [(mc_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_cmd_link_i; + output wire [(mc_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_cmd_link_o; + input [(mc_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_resp_link_i; + output wire [(mc_x_dim_p * coh_noc_ral_link_width_lp) - 1:0] coh_resp_link_o; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * dma_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * dma_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp)] dma_link_i; + output wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * dma_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * dma_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp)] dma_link_o; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_req_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_req_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_cmd_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_cmd_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_resp_hor_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + coh_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + coh_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + coh_noc_flit_width_p))] lce_resp_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] lce_resp_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p))] dma_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p))] dma_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] mem_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] mem_ver_link_lo; + genvar _gv_i_87; + function automatic [coh_noc_y_cord_width_p - 1:0] sv2v_cast_9155F; + input reg [coh_noc_y_cord_width_p - 1:0] inp; + sv2v_cast_9155F = inp; + endfunction + function automatic signed [coh_noc_x_cord_width_p - 1:0] sv2v_cast_0F33E_signed; + input reg signed [coh_noc_x_cord_width_p - 1:0] inp; + sv2v_cast_0F33E_signed = inp; + endfunction + generate + for (_gv_i_87 = 0; _gv_i_87 < mc_x_dim_p; _gv_i_87 = _gv_i_87 + 1) begin : node + localparam i = _gv_i_87; + wire [coh_noc_cord_width_p - 1:0] cord_li = {sv2v_cast_9155F(1'b1 + cc_y_dim_p), sv2v_cast_0F33E_signed(i + sac_x_dim_p)}; + if (mc_y_dim_p > 0) begin : node + bp_l2e_tile_node #(.bp_params_p(bp_params_p)) l2e( + .core_clk_i(core_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .dma_clk_i(dma_clk_i), + .dma_reset_i(dma_reset_i), + .my_did_i(my_did_i), + .my_cord_i(cord_li), + .coh_lce_req_link_i(lce_req_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_req_link_o(lce_req_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_i(lce_cmd_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_cmd_link_o(lce_cmd_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_resp_link_i(lce_resp_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .coh_lce_resp_link_o(lce_resp_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .dma_link_i(dma_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]), + .dma_link_o(dma_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]) + ); + end + else begin : stub + assign lce_req_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + assign lce_cmd_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + assign lce_resp_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + coh_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + assign dma_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (i * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = 1'sb0; + end + end + if (mc_y_dim_p > 0) begin : stitch + assign lce_req_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * mc_x_dim_p] = coh_req_link_i; + assign lce_req_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * mc_x_dim_p] = 1'sb0; + assign lce_req_hor_link_li = 1'sb0; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(mc_x_dim_p), + .y_max_p(1) + ) coh_req_mesh( + .outs_i(lce_req_link_lo), + .ins_o(lce_req_link_li), + .hor_i(lce_req_hor_link_li), + .hor_o(lce_req_hor_link_lo), + .ver_i(lce_req_ver_link_li), + .ver_o(lce_req_ver_link_lo) + ); + assign coh_req_link_o = lce_req_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * mc_x_dim_p]; + assign lce_cmd_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * mc_x_dim_p] = coh_cmd_link_i; + assign lce_cmd_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * mc_x_dim_p] = 1'sb0; + assign lce_cmd_hor_link_li = 1'sb0; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(mc_x_dim_p), + .y_max_p(1) + ) coh_cmd_mesh( + .outs_i(lce_cmd_link_lo), + .ins_o(lce_cmd_link_li), + .hor_i(lce_cmd_hor_link_li), + .hor_o(lce_cmd_hor_link_lo), + .ver_i(lce_cmd_ver_link_li), + .ver_o(lce_cmd_ver_link_lo) + ); + assign coh_cmd_link_o = lce_cmd_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * mc_x_dim_p]; + assign lce_resp_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * mc_x_dim_p] = coh_resp_link_i; + assign lce_resp_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * mc_x_dim_p] = 1'sb0; + assign lce_resp_hor_link_li = 1'sb0; + bsg_mesh_stitch #( + .width_p(coh_noc_ral_link_width_lp), + .x_max_p(mc_x_dim_p), + .y_max_p(1) + ) coh_resp_mesh( + .outs_i(lce_resp_link_lo), + .ins_o(lce_resp_link_li), + .hor_i(lce_resp_hor_link_li), + .hor_o(lce_resp_hor_link_lo), + .ver_i(lce_resp_ver_link_li), + .ver_o(lce_resp_ver_link_lo) + ); + assign coh_resp_link_o = lce_resp_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * mc_x_dim_p]; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p))] mem_mesh_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) * (2 + dma_noc_flit_width_p))] mem_mesh_li; + genvar _gv_j_21; + for (_gv_j_21 = 0; _gv_j_21 < mc_x_dim_p; _gv_j_21 = _gv_j_21 + 1) begin : link + localparam j = _gv_j_21; + assign mem_mesh_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = dma_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]; + assign dma_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 3)) + (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1))) + ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 2) - 1) : (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)] = mem_mesh_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) + 0 : sv2v_cast_3((3'd0 + 1) + 3) + 0) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) - 1) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3))) : (((j * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1 : (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) : sv2v_cast_3(3'd0 + 1) - ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : (sv2v_cast_3((3'd0 + 1) + 3) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1) - sv2v_cast_3((3'd0 + 1) + 3)))) + (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (mc_x_dim_p * ((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1)) + (sv2v_cast_3(3'd0 + 1) - 1) : (mc_x_dim_p * ((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)) + (sv2v_cast_3((3'd0 + 1) + 3) - 1))))+:(2 + dma_noc_flit_width_p) * (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1 : (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1)]; + end + assign mem_ver_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * mc_x_dim_p] = dma_link_i[dma_noc_ral_link_width_lp * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:dma_noc_ral_link_width_lp * mc_x_dim_p]; + bsg_mesh_stitch #( + .width_p(2 + dma_noc_flit_width_p), + .x_max_p(mc_x_dim_p), + .y_max_p(1) + ) mem_mesh( + .outs_i(mem_mesh_lo), + .ins_o(mem_mesh_li), + .hor_i(), + .hor_o(), + .ver_i(mem_ver_link_li), + .ver_o(mem_ver_link_lo) + ); + assign dma_link_o[dma_noc_ral_link_width_lp * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:dma_noc_ral_link_width_lp * mc_x_dim_p] = mem_ver_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * mc_x_dim_p]; + end + else begin : stub + assign coh_req_link_o = 1'sb0; + assign coh_cmd_link_o = 1'sb0; + assign coh_resp_link_o = 1'sb0; + assign mem_ver_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * mc_x_dim_p] = dma_link_i[dma_noc_ral_link_width_lp * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:dma_noc_ral_link_width_lp * mc_x_dim_p]; + assign dma_link_o[dma_noc_ral_link_width_lp * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:dma_noc_ral_link_width_lp * mc_x_dim_p] = mem_ver_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * mc_x_dim_p]; + end + endgenerate + assign dma_link_o[dma_noc_ral_link_width_lp * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:dma_noc_ral_link_width_lp * mc_x_dim_p] = mem_ver_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * mc_x_dim_p]; + assign mem_ver_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * mc_x_dim_p] = dma_link_i[dma_noc_ral_link_width_lp * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:dma_noc_ral_link_width_lp * mc_x_dim_p]; +endmodule +module bp_multicore ( + core_clk_i, + rt_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + mem_clk_i, + mem_reset_i, + dma_clk_i, + dma_reset_i, + my_did_i, + host_did_i, + mem_fwd_link_i, + mem_fwd_link_o, + mem_rev_link_i, + mem_rev_link_o, + dma_link_o, + dma_link_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + localparam mem_noc_ral_link_width_lp = mem_noc_flit_width_p + 2; + input core_clk_i; + input rt_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input mem_clk_i; + input mem_reset_i; + input dma_clk_i; + input dma_reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [mem_noc_did_width_p - 1:0] host_did_i; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_fwd_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_fwd_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_rev_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * mem_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * mem_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 1) * mem_noc_ral_link_width_lp)] mem_rev_link_o; + output wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * dma_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * dma_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp)] dma_link_o; + input [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * dma_noc_ral_link_width_lp) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * dma_noc_ral_link_width_lp) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * dma_noc_ral_link_width_lp : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * dma_noc_ral_link_width_lp)] dma_link_i; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_req_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_req_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_cmd_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_cmd_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_fill_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_fill_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_resp_hor_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_resp_hor_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_req_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_req_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_cmd_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_cmd_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_fill_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_fill_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_resp_ver_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + coh_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + coh_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + coh_noc_flit_width_p))] coh_resp_ver_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] dma_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] dma_link_lo; + assign coh_resp_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p] = 1'sb0; + assign coh_resp_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p] = 1'sb0; + assign coh_fill_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p] = 1'sb0; + assign coh_fill_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p] = 1'sb0; + assign coh_fill_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p] = 1'sb0; + assign dma_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * cc_x_dim_p] = 1'sb0; + bp_core_complex #(.bp_params_p(bp_params_p)) cc( + .core_clk_i(core_clk_i), + .rt_clk_i(rt_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .dma_clk_i(dma_clk_i), + .dma_reset_i(dma_reset_i), + .my_did_i(my_did_i), + .host_did_i(host_did_i), + .coh_req_hor_link_i(coh_req_hor_link_li), + .coh_req_hor_link_o(coh_req_hor_link_lo), + .coh_cmd_hor_link_i(coh_cmd_hor_link_li), + .coh_cmd_hor_link_o(coh_cmd_hor_link_lo), + .coh_fill_hor_link_i(coh_fill_hor_link_li), + .coh_fill_hor_link_o(coh_fill_hor_link_lo), + .coh_resp_hor_link_i(coh_resp_hor_link_li), + .coh_resp_hor_link_o(coh_resp_hor_link_lo), + .coh_req_ver_link_i(coh_req_ver_link_li), + .coh_req_ver_link_o(coh_req_ver_link_lo), + .coh_cmd_ver_link_i(coh_cmd_ver_link_li), + .coh_cmd_ver_link_o(coh_cmd_ver_link_lo), + .coh_fill_ver_link_i(coh_fill_ver_link_li), + .coh_fill_ver_link_o(coh_fill_ver_link_lo), + .coh_resp_ver_link_i(coh_resp_ver_link_li), + .coh_resp_ver_link_o(coh_resp_ver_link_lo), + .dma_link_i(dma_link_li), + .dma_link_o(dma_link_lo) + ); + bp_io_complex #(.bp_params_p(bp_params_p)) ic( + .core_clk_i(core_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .mem_clk_i(mem_clk_i), + .mem_reset_i(mem_reset_i), + .my_did_i(my_did_i), + .host_did_i(host_did_i), + .coh_req_link_i(coh_req_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .coh_req_link_o(coh_req_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .coh_cmd_link_i(coh_cmd_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .coh_cmd_link_o(coh_cmd_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .mem_fwd_link_i(mem_fwd_link_i), + .mem_fwd_link_o(mem_fwd_link_o), + .mem_rev_link_i(mem_rev_link_i), + .mem_rev_link_o(mem_rev_link_o) + ); + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] l2e_dma_link_li; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] l2e_dma_link_lo; + bp_mem_complex #(.bp_params_p(bp_params_p)) mc( + .core_clk_i(core_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .dma_clk_i(dma_clk_i), + .dma_reset_i(dma_reset_i), + .my_did_i(my_did_i), + .coh_req_link_i(coh_req_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .coh_req_link_o(coh_req_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .coh_cmd_link_i(coh_cmd_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .coh_cmd_link_o(coh_cmd_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .coh_resp_link_i(coh_resp_ver_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .coh_resp_link_o(coh_resp_ver_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_x_dim_p]), + .dma_link_i(l2e_dma_link_li), + .dma_link_o(l2e_dma_link_lo) + ); + assign l2e_dma_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * cc_x_dim_p] = dma_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * cc_x_dim_p]; + assign dma_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * cc_x_dim_p] = l2e_dma_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * cc_x_dim_p]; + assign l2e_dma_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * cc_x_dim_p] = dma_link_i[dma_noc_ral_link_width_lp * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:dma_noc_ral_link_width_lp * mc_x_dim_p]; + assign dma_link_o[dma_noc_ral_link_width_lp * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:dma_noc_ral_link_width_lp * mc_x_dim_p] = l2e_dma_link_lo[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * cc_x_dim_p) + (cc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * cc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * cc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * cc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * cc_x_dim_p]; + bp_cacc_complex #(.bp_params_p(bp_params_p)) cac( + .core_clk_i(core_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .coh_req_link_i(coh_req_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_req_link_o(coh_req_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_cmd_link_i(coh_cmd_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_cmd_link_o(coh_cmd_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_fill_link_i(coh_fill_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_fill_link_o(coh_fill_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_resp_link_i(coh_resp_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_resp_link_o(coh_resp_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]) + ); + bp_sacc_complex #(.bp_params_p(bp_params_p)) sac( + .core_clk_i(core_clk_i), + .core_reset_i(core_reset_i), + .coh_clk_i(coh_clk_i), + .coh_reset_i(coh_reset_i), + .coh_req_link_i(coh_req_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_req_link_o(coh_req_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_cmd_link_i(coh_cmd_hor_link_lo[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]), + .coh_cmd_link_o(coh_cmd_hor_link_li[(2 + coh_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * cc_y_dim_p : sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p : ((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * cc_y_dim_p) + (cc_y_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3(3'd0 + 1) * cc_y_dim_p) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * cc_y_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 1) * cc_y_dim_p) - 1))))+:(2 + coh_noc_flit_width_p) * cc_y_dim_p]) + ); +endmodule +module bp_unicore ( + clk_i, + rt_clk_i, + reset_i, + my_did_i, + host_did_i, + my_cord_i, + mem_fwd_header_o, + mem_fwd_data_o, + mem_fwd_v_o, + mem_fwd_ready_and_i, + mem_rev_header_i, + mem_rev_data_i, + mem_rev_v_i, + mem_rev_ready_and_o, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i, + dma_pkt_o, + dma_pkt_v_o, + dma_pkt_ready_and_i, + dma_data_i, + dma_data_v_i, + dma_data_ready_and_o, + dma_data_o, + dma_data_v_o, + dma_data_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam dma_pkt_width_lp = (1 + daddr_width_p) + l2_block_size_in_words_p; + input clk_i; + input rt_clk_i; + input reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [mem_noc_did_width_p - 1:0] host_did_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + output wire [mem_fwd_header_width_lp - 1:0] mem_fwd_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_fwd_data_o; + output wire mem_fwd_v_o; + input mem_fwd_ready_and_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input [bedrock_fill_width_p - 1:0] mem_rev_data_i; + input mem_rev_v_i; + output wire mem_rev_ready_and_o; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + output wire [((l2_slices_p * l2_banks_p) * dma_pkt_width_lp) - 1:0] dma_pkt_o; + output wire [(l2_slices_p * l2_banks_p) - 1:0] dma_pkt_v_o; + input [(l2_slices_p * l2_banks_p) - 1:0] dma_pkt_ready_and_i; + input [((l2_slices_p * l2_banks_p) * l2_fill_width_p) - 1:0] dma_data_i; + input [(l2_slices_p * l2_banks_p) - 1:0] dma_data_v_i; + output wire [(l2_slices_p * l2_banks_p) - 1:0] dma_data_ready_and_o; + output wire [((l2_slices_p * l2_banks_p) * l2_fill_width_p) - 1:0] dma_data_o; + output wire [(l2_slices_p * l2_banks_p) - 1:0] dma_data_v_o; + input [(l2_slices_p * l2_banks_p) - 1:0] dma_data_ready_and_i; + localparam bp_common_pkg_dev_addr_width_gp = 20; + localparam bp_common_pkg_dev_id_width_gp = 4; + localparam bp_common_pkg_tile_id_width_gp = 7; + reg reset_r; + always @(posedge clk_i) reset_r <= reset_i; + localparam icache_proc_id_lp = 0; + localparam dcache_proc_id_lp = 1; + localparam io_proc_id_lp = 2; + localparam num_proc_lp = 3; + localparam lg_num_proc_lp = 2; + localparam cfg_dev_id_lp = 0; + localparam clint_dev_id_lp = 1; + localparam l2s_dev_base_id_lp = 2; + localparam loopback_dev_id_lp = l2s_dev_base_id_lp + l2_slices_p; + localparam io_dev_id_lp = loopback_dev_id_lp + 1; + localparam num_dev_lp = io_dev_id_lp + 1; + localparam lg_num_dev_lp = ((num_dev_lp == 1) || (num_dev_lp == 0) ? 1 : $clog2(num_dev_lp)); + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (3 * ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8)) - 1 : (3 * (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] proc_fwd_header_lo; + wire [(3 * bedrock_fill_width_p) - 1:0] proc_fwd_data_lo; + wire [2:0] proc_fwd_v_lo; + wire [2:0] proc_fwd_ready_and_li; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (3 * ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8)) - 1 : (3 * (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] proc_rev_header_li; + wire [(3 * bedrock_fill_width_p) - 1:0] proc_rev_data_li; + wire [2:0] proc_rev_v_li; + wire [2:0] proc_rev_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (num_dev_lp * ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8)) - 1 : (num_dev_lp * (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] dev_fwd_header_li; + wire [(num_dev_lp * bedrock_fill_width_p) - 1:0] dev_fwd_data_li; + wire [num_dev_lp - 1:0] dev_fwd_v_li; + wire [num_dev_lp - 1:0] dev_fwd_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (num_dev_lp * ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8)) - 1 : (num_dev_lp * (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 6)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)] dev_rev_header_lo; + wire [(num_dev_lp * bedrock_fill_width_p) - 1:0] dev_rev_data_lo; + wire [num_dev_lp - 1:0] dev_rev_v_lo; + wire [num_dev_lp - 1:0] dev_rev_ready_and_li; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_lo; + wire debug_irq_li; + wire timer_irq_li; + wire software_irq_li; + wire m_external_irq_li; + wire s_external_irq_li; + bp_unicore_lite #(.bp_params_p(bp_params_p)) unicore_lite( + .clk_i(clk_i), + .reset_i(reset_r), + .cfg_bus_i(cfg_bus_lo), + .mem_fwd_header_o({proc_fwd_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (dcache_proc_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))], proc_fwd_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]}), + .mem_fwd_data_o({proc_fwd_data_lo[dcache_proc_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p], proc_fwd_data_lo[0+:bedrock_fill_width_p]}), + .mem_fwd_v_o({proc_fwd_v_lo[dcache_proc_id_lp], proc_fwd_v_lo[icache_proc_id_lp]}), + .mem_fwd_ready_and_i({proc_fwd_ready_and_li[dcache_proc_id_lp], proc_fwd_ready_and_li[icache_proc_id_lp]}), + .mem_rev_header_i({proc_rev_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (dcache_proc_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))], proc_rev_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]}), + .mem_rev_data_i({proc_rev_data_li[dcache_proc_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p], proc_rev_data_li[0+:bedrock_fill_width_p]}), + .mem_rev_v_i({proc_rev_v_li[dcache_proc_id_lp], proc_rev_v_li[icache_proc_id_lp]}), + .mem_rev_ready_and_o({proc_rev_ready_and_lo[dcache_proc_id_lp], proc_rev_ready_and_lo[icache_proc_id_lp]}), + .debug_irq_i(debug_irq_li), + .timer_irq_i(timer_irq_li), + .software_irq_i(software_irq_li), + .m_external_irq_i(m_external_irq_li), + .s_external_irq_i(s_external_irq_li) + ); + assign proc_fwd_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (io_proc_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))] = mem_fwd_header_i; + assign proc_fwd_data_lo[io_proc_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p] = mem_fwd_data_i; + assign proc_fwd_v_lo[io_proc_id_lp] = mem_fwd_v_i; + assign mem_fwd_ready_and_o = proc_fwd_ready_and_li[io_proc_id_lp]; + assign mem_rev_header_o = proc_rev_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (io_proc_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]; + assign mem_rev_data_o = proc_rev_data_li[io_proc_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]; + assign mem_rev_v_o = proc_rev_v_li[io_proc_id_lp]; + assign proc_rev_ready_and_lo[io_proc_id_lp] = mem_rev_ready_and_i; + wire [(3 * lg_num_dev_lp) - 1:0] proc_fwd_dst_lo; + genvar _gv_i_88; + localparam bp_common_pkg_cfg_dev_gp = 2; + localparam bp_common_pkg_clint_dev_gp = 3; + localparam bp_common_pkg_dram_base_addr_gp = 40'h0080000000; + localparam bp_common_pkg_host_dev_gp = 1; + generate + for (_gv_i_88 = 0; _gv_i_88 < num_proc_lp; _gv_i_88 = _gv_i_88 + 1) begin : fwd_dest + localparam i = _gv_i_88; + wire [((((((paddr_width_p - bp_common_pkg_tile_id_width_gp) - bp_common_pkg_dev_id_width_gp) - bp_common_pkg_dev_addr_width_gp) + bp_common_pkg_tile_id_width_gp) + bp_common_pkg_dev_id_width_gp) + bp_common_pkg_dev_addr_width_gp) - 1:0] local_addr; + assign local_addr = proc_fwd_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? paddr_width_p + 7 : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (paddr_width_p + 7)) : (((i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? paddr_width_p + 7 : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (paddr_width_p + 7))) + ((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))) - 1)-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))]; + wire [3:0] device_fwd_li = local_addr[23-:4]; + wire is_local = proc_fwd_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? paddr_width_p + 7 : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (paddr_width_p + 7)) : (((i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? paddr_width_p + 7 : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (paddr_width_p + 7))) + ((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))) - 1)-:((paddr_width_p + 7) >= 8 ? paddr_width_p + 0 : 9 - (paddr_width_p + 7))] < bp_common_pkg_dram_base_addr_gp; + wire is_my_core = is_local & (local_addr[30-:7] == cfg_bus_lo[core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))-:((core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))) >= (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))))) ? ((core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))) - (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))))) + 1 : ((lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))))) - (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))))) + 1)]); + wire is_other_core = is_local & (local_addr[30-:7] != cfg_bus_lo[core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))-:((core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))) >= (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))))) ? ((core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))) - (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))))) + 1 : ((lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))))) - (core_id_width_p + (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))))) + 1)]); + wire is_other_hio = local_addr[paddr_width_p - 1-:hio_width_p] != 0; + wire is_cfg_fwd = (is_my_core & is_local) & (device_fwd_li == bp_common_pkg_cfg_dev_gp); + wire is_clint_fwd = (is_my_core & is_local) & (device_fwd_li == bp_common_pkg_clint_dev_gp); + wire is_host_fwd = (is_my_core & is_local) & (device_fwd_li == bp_common_pkg_host_dev_gp); + wire is_io_fwd = (is_host_fwd | is_other_hio) | is_other_core; + wire is_l2s_fwd = ~is_local & ~is_io_fwd; + wire is_loopback_fwd = ((~is_cfg_fwd & ~is_clint_fwd) & ~is_io_fwd) & ~is_l2s_fwd; + localparam lg_l2_slices_lp = ((l2_slices_p == 1) || (l2_slices_p == 0) ? 1 : $clog2(l2_slices_p)); + wire [lg_l2_slices_lp - 1:0] slice; + bp_me_dram_hash_encode #(.bp_params_p(bp_params_p)) slice_select( + .paddr_i(local_addr), + .data_i(), + .dram_o(), + .daddr_o(), + .slice_o(slice), + .bank_o(), + .data_o() + ); + wire [l2_slices_p - 1:0] is_l2s_slice_fwd; + bsg_decode_with_v #(.num_out_p(l2_slices_p)) slice_decode( + .i(slice), + .v_i(is_l2s_fwd), + .o(is_l2s_slice_fwd) + ); + wire [num_dev_lp - 1:0] proc_fwd_dst_sel = ((((is_cfg_fwd << cfg_dev_id_lp) | (is_clint_fwd << clint_dev_id_lp)) | (is_l2s_slice_fwd << l2s_dev_base_id_lp)) | (is_loopback_fwd << loopback_dev_id_lp)) | (is_io_fwd << io_dev_id_lp); + bsg_encode_one_hot #( + .width_p(num_dev_lp), + .lo_to_hi_p(1) + ) fwd_pe( + .i(proc_fwd_dst_sel), + .addr_o(proc_fwd_dst_lo[i * lg_num_dev_lp+:lg_num_dev_lp]), + .v_o() + ); + end + endgenerate + wire [(num_dev_lp * 2) - 1:0] dev_rev_dst_lo; + genvar _gv_i_89; + generate + for (_gv_i_89 = 0; _gv_i_89 < num_dev_lp; _gv_i_89 = _gv_i_89 + 1) begin : dev_lce_id + localparam i = _gv_i_89; + wire [did_width_p - 1:0] dev_rev_did_li = dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1) : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)) : (((i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1) : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1))) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + wire [1:0] dev_rev_proc_id_li = dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1) : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)) : (((i * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1) : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (lce_id_width_p + (did_width_p + 2))) : (((3 + (paddr_width_p + 8)) - (lce_id_width_p + (did_width_p + 2))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1))) + ((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)) - 1)-:((lce_id_width_p + (did_width_p + 2)) >= (did_width_p + 3) ? ((lce_id_width_p + (did_width_p + 2)) - (did_width_p + 3)) + 1 : ((did_width_p + 3) - (lce_id_width_p + (did_width_p + 2))) + 1)]; + wire remote_did_li = (dev_rev_did_li > 0) && (dev_rev_did_li != my_did_i); + assign dev_rev_dst_lo[i * 2+:2] = (remote_did_li ? io_proc_id_lp : dev_rev_proc_id_li); + end + endgenerate + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + bp_me_xbar_stream #( + .bp_params_p(bp_params_p), + .payload_width_p(mem_fwd_payload_width_lp), + .stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .num_source_p(num_proc_lp), + .num_sink_p(num_dev_lp) + ) fwd_xbar( + .clk_i(clk_i), + .reset_i(reset_r), + .msg_header_i(proc_fwd_header_lo), + .msg_data_i(proc_fwd_data_lo), + .msg_v_i(proc_fwd_v_lo), + .msg_ready_and_o(proc_fwd_ready_and_li), + .msg_dst_i(proc_fwd_dst_lo), + .msg_header_o(dev_fwd_header_li), + .msg_data_o(dev_fwd_data_li), + .msg_v_o(dev_fwd_v_li), + .msg_ready_and_i(dev_fwd_ready_and_lo) + ); + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + bp_me_xbar_stream #( + .bp_params_p(bp_params_p), + .payload_width_p(mem_rev_payload_width_lp), + .stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .num_source_p(num_dev_lp), + .num_sink_p(num_proc_lp) + ) rev_xbar( + .clk_i(clk_i), + .reset_i(reset_r), + .msg_header_i(dev_rev_header_lo), + .msg_data_i(dev_rev_data_lo), + .msg_v_i(dev_rev_v_lo), + .msg_ready_and_o(dev_rev_ready_and_li), + .msg_dst_i(dev_rev_dst_lo), + .msg_header_o(proc_rev_header_li), + .msg_data_o(proc_rev_data_li), + .msg_v_o(proc_rev_v_li), + .msg_ready_and_i(proc_rev_ready_and_lo) + ); + localparam [33:0] sv2v_uu_cfgs_ext_cce_ucode_data_i_0 = 1'sb0; + bp_me_cfg_slice #(.bp_params_p(bp_params_p)) cfgs( + .clk_i(clk_i), + .reset_i(reset_r), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[0+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[cfg_dev_id_lp]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[cfg_dev_id_lp]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + 0+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[0+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[cfg_dev_id_lp]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[cfg_dev_id_lp]), + .cfg_bus_o(cfg_bus_lo), + .did_i(my_did_i), + .host_did_i(host_did_i), + .cord_i(my_cord_i), + .cce_ucode_v_o(), + .cce_ucode_w_o(), + .cce_ucode_addr_o(), + .cce_ucode_data_o(), + .cce_ucode_data_i(sv2v_uu_cfgs_ext_cce_ucode_data_i_0) + ); + bp_me_clint_slice #(.bp_params_p(bp_params_p)) clints( + .clk_i(clk_i), + .rt_clk_i(rt_clk_i), + .reset_i(reset_r), + .cfg_bus_i(cfg_bus_lo), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (clint_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[clint_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[clint_dev_id_lp]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[clint_dev_id_lp]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (clint_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[clint_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[clint_dev_id_lp]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[clint_dev_id_lp]), + .debug_irq_o(debug_irq_li), + .timer_irq_o(timer_irq_li), + .software_irq_o(software_irq_li), + .m_external_irq_o(m_external_irq_li), + .s_external_irq_o(s_external_irq_li) + ); + genvar _gv_i_90; + generate + for (_gv_i_90 = 0; _gv_i_90 < l2_slices_p; _gv_i_90 = _gv_i_90 + 1) begin : slices + localparam i = _gv_i_90; + bp_me_cache_slice #(.bp_params_p(bp_params_p)) l2s( + .clk_i(clk_i), + .reset_i(reset_r), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + ((l2s_dev_base_id_lp + i) * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[(l2s_dev_base_id_lp + i) * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[l2s_dev_base_id_lp + i]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[l2s_dev_base_id_lp + i]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + ((l2s_dev_base_id_lp + i) * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[(l2s_dev_base_id_lp + i) * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[l2s_dev_base_id_lp + i]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[l2s_dev_base_id_lp + i]), + .dma_pkt_o(dma_pkt_o[dma_pkt_width_lp * (i * l2_banks_p)+:dma_pkt_width_lp * l2_banks_p]), + .dma_pkt_v_o(dma_pkt_v_o[i * l2_banks_p+:l2_banks_p]), + .dma_pkt_ready_and_i(dma_pkt_ready_and_i[i * l2_banks_p+:l2_banks_p]), + .dma_data_i(dma_data_i[l2_fill_width_p * (i * l2_banks_p)+:l2_fill_width_p * l2_banks_p]), + .dma_data_v_i(dma_data_v_i[i * l2_banks_p+:l2_banks_p]), + .dma_data_ready_and_o(dma_data_ready_and_o[i * l2_banks_p+:l2_banks_p]), + .dma_data_o(dma_data_o[l2_fill_width_p * (i * l2_banks_p)+:l2_fill_width_p * l2_banks_p]), + .dma_data_v_o(dma_data_v_o[i * l2_banks_p+:l2_banks_p]), + .dma_data_ready_and_i(dma_data_ready_and_i[i * l2_banks_p+:l2_banks_p]) + ); + end + endgenerate + assign mem_fwd_header_o = dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (io_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]; + assign mem_fwd_data_o = dev_fwd_data_li[io_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]; + assign mem_fwd_v_o = dev_fwd_v_li[io_dev_id_lp]; + assign dev_fwd_ready_and_lo[io_dev_id_lp] = mem_fwd_ready_and_i; + assign dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (io_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))] = mem_rev_header_i; + assign dev_rev_data_lo[io_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p] = mem_rev_data_i; + assign dev_rev_v_lo[io_dev_id_lp] = mem_rev_v_i; + assign mem_rev_ready_and_o = dev_rev_ready_and_li[io_dev_id_lp]; + bp_me_loopback #(.bp_params_p(bp_params_p)) loopback( + .clk_i(clk_i), + .reset_i(reset_r), + .mem_fwd_header_i(dev_fwd_header_li[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (loopback_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_i(dev_fwd_data_li[loopback_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_fwd_v_i(dev_fwd_v_li[loopback_dev_id_lp]), + .mem_fwd_ready_and_o(dev_fwd_ready_and_lo[loopback_dev_id_lp]), + .mem_rev_header_o(dev_rev_header_lo[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (loopback_dev_id_lp * (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_o(dev_rev_data_lo[loopback_dev_id_lp * bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_rev_v_o(dev_rev_v_lo[loopback_dev_id_lp]), + .mem_rev_ready_and_i(dev_rev_ready_and_li[loopback_dev_id_lp]) + ); +endmodule +module bp_unicore_lite ( + clk_i, + reset_i, + cfg_bus_i, + mem_fwd_header_o, + mem_fwd_data_o, + mem_fwd_v_o, + mem_fwd_ready_and_i, + mem_rev_header_i, + mem_rev_data_i, + mem_rev_v_i, + mem_rev_ready_and_o, + debug_irq_i, + timer_irq_i, + software_irq_i, + m_external_irq_i, + s_external_irq_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + input clk_i; + input reset_i; + input [cfg_bus_width_lp - 1:0] cfg_bus_i; + output wire [(2 * mem_fwd_header_width_lp) - 1:0] mem_fwd_header_o; + output wire [(2 * bedrock_fill_width_p) - 1:0] mem_fwd_data_o; + output wire [1:0] mem_fwd_v_o; + input [1:0] mem_fwd_ready_and_i; + input [(2 * mem_rev_header_width_lp) - 1:0] mem_rev_header_i; + input [(2 * bedrock_fill_width_p) - 1:0] mem_rev_data_i; + input [1:0] mem_rev_v_i; + output wire [1:0] mem_rev_ready_and_o; + input debug_irq_i; + input timer_irq_i; + input software_irq_i; + input m_external_irq_i; + input s_external_irq_i; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_cast_i; + assign cfg_bus_cast_i = cfg_bus_i; + wire [((((icache_req_id_width_p + 1) + icache_data_width_p) + 3) + paddr_width_p) + 7:0] icache_req_lo; + wire icache_req_v_lo; + wire icache_req_yumi_li; + wire icache_req_lock_li; + wire icache_req_metadata_v_lo; + wire [((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p)) + 0:0] icache_req_metadata_lo; + wire [icache_req_id_width_p - 1:0] icache_req_id_li; + wire icache_req_critical_li; + wire icache_req_last_li; + wire icache_req_credits_full_li; + wire icache_req_credits_empty_li; + wire [(((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 3) + icache_tag_width_p) + 2:0] icache_tag_mem_pkt_li; + wire icache_tag_mem_pkt_v_li; + wire icache_tag_mem_pkt_yumi_lo; + wire [(3 + icache_tag_width_p) - 1:0] icache_tag_mem_lo; + wire [(((((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + icache_fill_width_p) + (icache_block_width_p / icache_fill_width_p)) + 1:0] icache_data_mem_pkt_li; + wire icache_data_mem_pkt_v_li; + wire icache_data_mem_pkt_yumi_lo; + wire [icache_block_width_p - 1:0] icache_data_mem_lo; + wire [(((icache_sets_p == 1) || (icache_sets_p == 0) ? 1 : $clog2(icache_sets_p)) + ((icache_assoc_p == 1) || (icache_assoc_p == 0) ? 1 : $clog2(icache_assoc_p))) + 1:0] icache_stat_mem_pkt_li; + wire icache_stat_mem_pkt_v_li; + wire icache_stat_mem_pkt_yumi_lo; + wire [(((icache_assoc_p < 2 ? 0 : icache_assoc_p - 2) >= 0 ? (icache_assoc_p < 2 ? 0 : icache_assoc_p - 2) + 1 : 1 - (icache_assoc_p < 2 ? 0 : icache_assoc_p - 2)) + icache_assoc_p) - 1:0] icache_stat_mem_lo; + wire [((((dcache_req_id_width_p + 1) + dcache_data_width_p) + 3) + paddr_width_p) + 7:0] dcache_req_lo; + wire dcache_req_v_lo; + wire dcache_req_yumi_li; + wire dcache_req_lock_li; + wire dcache_req_metadata_v_lo; + wire [((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p)) + 0:0] dcache_req_metadata_lo; + wire [dcache_req_id_width_p - 1:0] dcache_req_id_li; + wire dcache_req_critical_li; + wire dcache_req_last_li; + wire dcache_req_credits_full_li; + wire dcache_req_credits_empty_li; + wire [(((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 3) + dcache_tag_width_p) + 2:0] dcache_tag_mem_pkt_li; + wire dcache_tag_mem_pkt_v_li; + wire dcache_tag_mem_pkt_yumi_lo; + wire [(3 + dcache_tag_width_p) - 1:0] dcache_tag_mem_lo; + wire [(((((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + dcache_fill_width_p) + (dcache_block_width_p / dcache_fill_width_p)) + 1:0] dcache_data_mem_pkt_li; + wire dcache_data_mem_pkt_v_li; + wire dcache_data_mem_pkt_yumi_lo; + wire [dcache_block_width_p - 1:0] dcache_data_mem_lo; + wire [(((dcache_sets_p == 1) || (dcache_sets_p == 0) ? 1 : $clog2(dcache_sets_p)) + ((dcache_assoc_p == 1) || (dcache_assoc_p == 0) ? 1 : $clog2(dcache_assoc_p))) + 1:0] dcache_stat_mem_pkt_li; + wire dcache_stat_mem_pkt_v_li; + wire dcache_stat_mem_pkt_yumi_lo; + wire [(((dcache_assoc_p < 2 ? 0 : dcache_assoc_p - 2) >= 0 ? (dcache_assoc_p < 2 ? 0 : dcache_assoc_p - 2) + 1 : 1 - (dcache_assoc_p < 2 ? 0 : dcache_assoc_p - 2)) + dcache_assoc_p) - 1:0] dcache_stat_mem_lo; + wire posedge_clk = clk_i; + wire negedge_clk = ~clk_i; + wire [did_width_p - 1:0] did_li = cfg_bus_cast_i[did_width_p - 1-:did_width_p]; + wire [(2 * lce_id_width_p) - 1:0] lce_id_li = {cfg_bus_cast_i[lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))-:((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) >= (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) ? ((lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))) - (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))) + 1 : ((2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))) - (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))) + 1)], cfg_bus_cast_i[lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))-:((lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))) >= (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))) ? ((lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1)))))))) - (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0)))))))) + 1 : ((2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p + 0))))))) - (lce_id_width_p + (2 + (lce_id_width_p + (2 + (cce_id_width_p + (1 + (hio_width_p + (did_width_p - 1))))))))) + 1)]}; + bp_core_minimal #(.bp_params_p(bp_params_p)) core_minimal( + .clk_i(posedge_clk), + .reset_i(reset_i), + .cfg_bus_i(cfg_bus_cast_i), + .icache_req_o(icache_req_lo), + .icache_req_v_o(icache_req_v_lo), + .icache_req_yumi_i(icache_req_yumi_li), + .icache_req_lock_i(icache_req_lock_li), + .icache_req_metadata_o(icache_req_metadata_lo), + .icache_req_metadata_v_o(icache_req_metadata_v_lo), + .icache_req_id_i(icache_req_id_li), + .icache_req_critical_i(icache_req_critical_li), + .icache_req_last_i(icache_req_last_li), + .icache_req_credits_full_i(icache_req_credits_full_li), + .icache_req_credits_empty_i(icache_req_credits_empty_li), + .icache_tag_mem_pkt_i(icache_tag_mem_pkt_li), + .icache_tag_mem_pkt_v_i(icache_tag_mem_pkt_v_li), + .icache_tag_mem_pkt_yumi_o(icache_tag_mem_pkt_yumi_lo), + .icache_tag_mem_o(icache_tag_mem_lo), + .icache_data_mem_pkt_i(icache_data_mem_pkt_li), + .icache_data_mem_pkt_v_i(icache_data_mem_pkt_v_li), + .icache_data_mem_pkt_yumi_o(icache_data_mem_pkt_yumi_lo), + .icache_data_mem_o(icache_data_mem_lo), + .icache_stat_mem_pkt_v_i(icache_stat_mem_pkt_v_li), + .icache_stat_mem_pkt_i(icache_stat_mem_pkt_li), + .icache_stat_mem_pkt_yumi_o(icache_stat_mem_pkt_yumi_lo), + .icache_stat_mem_o(icache_stat_mem_lo), + .dcache_req_o(dcache_req_lo), + .dcache_req_v_o(dcache_req_v_lo), + .dcache_req_yumi_i(dcache_req_yumi_li), + .dcache_req_lock_i(dcache_req_lock_li), + .dcache_req_metadata_o(dcache_req_metadata_lo), + .dcache_req_metadata_v_o(dcache_req_metadata_v_lo), + .dcache_req_id_i(dcache_req_id_li), + .dcache_req_critical_i(dcache_req_critical_li), + .dcache_req_last_i(dcache_req_last_li), + .dcache_req_credits_full_i(dcache_req_credits_full_li), + .dcache_req_credits_empty_i(dcache_req_credits_empty_li), + .dcache_tag_mem_pkt_i(dcache_tag_mem_pkt_li), + .dcache_tag_mem_pkt_v_i(dcache_tag_mem_pkt_v_li), + .dcache_tag_mem_pkt_yumi_o(dcache_tag_mem_pkt_yumi_lo), + .dcache_tag_mem_o(dcache_tag_mem_lo), + .dcache_data_mem_pkt_i(dcache_data_mem_pkt_li), + .dcache_data_mem_pkt_v_i(dcache_data_mem_pkt_v_li), + .dcache_data_mem_pkt_yumi_o(dcache_data_mem_pkt_yumi_lo), + .dcache_data_mem_o(dcache_data_mem_lo), + .dcache_stat_mem_pkt_v_i(dcache_stat_mem_pkt_v_li), + .dcache_stat_mem_pkt_i(dcache_stat_mem_pkt_li), + .dcache_stat_mem_pkt_yumi_o(dcache_stat_mem_pkt_yumi_lo), + .dcache_stat_mem_o(dcache_stat_mem_lo), + .debug_irq_i(debug_irq_i), + .timer_irq_i(timer_irq_i), + .software_irq_i(software_irq_i), + .m_external_irq_i(m_external_irq_i), + .s_external_irq_i(s_external_irq_i) + ); + bp_uce #( + .bp_params_p(bp_params_p), + .assoc_p(icache_assoc_p), + .sets_p(icache_sets_p), + .block_width_p(icache_block_width_p), + .fill_width_p(icache_fill_width_p), + .data_width_p(icache_data_width_p), + .tag_width_p(icache_tag_width_p), + .id_width_p(icache_req_id_width_p), + .writeback_p(icache_features_p[4'b0010]) + ) icache_uce( + .clk_i(posedge_clk), + .reset_i(reset_i), + .did_i(did_li), + .lce_id_i(lce_id_li[0+:lce_id_width_p]), + .cache_req_i(icache_req_lo), + .cache_req_v_i(icache_req_v_lo), + .cache_req_yumi_o(icache_req_yumi_li), + .cache_req_lock_o(icache_req_lock_li), + .cache_req_metadata_i(icache_req_metadata_lo), + .cache_req_metadata_v_i(icache_req_metadata_v_lo), + .cache_req_id_o(icache_req_id_li), + .cache_req_critical_o(icache_req_critical_li), + .cache_req_last_o(icache_req_last_li), + .cache_req_credits_full_o(icache_req_credits_full_li), + .cache_req_credits_empty_o(icache_req_credits_empty_li), + .tag_mem_pkt_o(icache_tag_mem_pkt_li), + .tag_mem_pkt_v_o(icache_tag_mem_pkt_v_li), + .tag_mem_pkt_yumi_i(icache_tag_mem_pkt_yumi_lo), + .tag_mem_i(icache_tag_mem_lo), + .data_mem_pkt_o(icache_data_mem_pkt_li), + .data_mem_pkt_v_o(icache_data_mem_pkt_v_li), + .data_mem_pkt_yumi_i(icache_data_mem_pkt_yumi_lo), + .data_mem_i(icache_data_mem_lo), + .stat_mem_pkt_o(icache_stat_mem_pkt_li), + .stat_mem_pkt_v_o(icache_stat_mem_pkt_v_li), + .stat_mem_pkt_yumi_i(icache_stat_mem_pkt_yumi_lo), + .stat_mem_i(icache_stat_mem_lo), + .mem_fwd_header_o(mem_fwd_header_o[0+:mem_fwd_header_width_lp]), + .mem_fwd_data_o(mem_fwd_data_o[0+:bedrock_fill_width_p]), + .mem_fwd_v_o(mem_fwd_v_o[0]), + .mem_fwd_ready_and_i(mem_fwd_ready_and_i[0]), + .mem_rev_header_i(mem_rev_header_i[0+:mem_rev_header_width_lp]), + .mem_rev_data_i(mem_rev_data_i[0+:bedrock_fill_width_p]), + .mem_rev_v_i(mem_rev_v_i[0]), + .mem_rev_ready_and_o(mem_rev_ready_and_o[0]) + ); + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) : (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)) + ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) - 1)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))] _mem_fwd_header_o; + wire [bedrock_fill_width_p + (bedrock_fill_width_p - 1):bedrock_fill_width_p] _mem_fwd_data_o; + wire [1:1] _mem_fwd_v_o; + wire [1:1] _mem_fwd_ready_and_i; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8) + ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) : (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)) + ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))) - 1)):(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7)))] _mem_rev_header_i; + wire [bedrock_fill_width_p + (bedrock_fill_width_p - 1):bedrock_fill_width_p] _mem_rev_data_i; + wire [1:1] _mem_rev_v_i; + wire [1:1] _mem_rev_ready_and_o; + bp_uce #( + .bp_params_p(bp_params_p), + .assoc_p(dcache_assoc_p), + .sets_p(dcache_sets_p), + .block_width_p(dcache_block_width_p), + .fill_width_p(dcache_fill_width_p), + .data_width_p(dcache_data_width_p), + .tag_width_p(dcache_tag_width_p), + .id_width_p(dcache_req_id_width_p), + .writeback_p(dcache_features_p[4'b0010]) + ) dcache_uce( + .clk_i(negedge_clk), + .reset_i(reset_i), + .did_i(did_li), + .lce_id_i(lce_id_li[lce_id_width_p+:lce_id_width_p]), + .cache_req_i(dcache_req_lo), + .cache_req_v_i(dcache_req_v_lo), + .cache_req_yumi_o(dcache_req_yumi_li), + .cache_req_lock_o(dcache_req_lock_li), + .cache_req_metadata_i(dcache_req_metadata_lo), + .cache_req_metadata_v_i(dcache_req_metadata_v_lo), + .cache_req_id_o(dcache_req_id_li), + .cache_req_critical_o(dcache_req_critical_li), + .cache_req_last_o(dcache_req_last_li), + .cache_req_credits_full_o(dcache_req_credits_full_li), + .cache_req_credits_empty_o(dcache_req_credits_empty_li), + .tag_mem_pkt_o(dcache_tag_mem_pkt_li), + .tag_mem_pkt_v_o(dcache_tag_mem_pkt_v_li), + .tag_mem_pkt_yumi_i(dcache_tag_mem_pkt_yumi_lo), + .tag_mem_i(dcache_tag_mem_lo), + .data_mem_pkt_o(dcache_data_mem_pkt_li), + .data_mem_pkt_v_o(dcache_data_mem_pkt_v_li), + .data_mem_pkt_yumi_i(dcache_data_mem_pkt_yumi_lo), + .data_mem_i(dcache_data_mem_lo), + .stat_mem_pkt_o(dcache_stat_mem_pkt_li), + .stat_mem_pkt_v_o(dcache_stat_mem_pkt_v_li), + .stat_mem_pkt_yumi_i(dcache_stat_mem_pkt_yumi_lo), + .stat_mem_i(dcache_stat_mem_lo), + .mem_fwd_header_o(_mem_fwd_header_o[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_fwd_data_o(_mem_fwd_data_o[bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_fwd_v_o(_mem_fwd_v_o[1]), + .mem_fwd_ready_and_i(_mem_fwd_ready_and_i[1]), + .mem_rev_header_i(_mem_rev_header_i[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))]), + .mem_rev_data_i(_mem_rev_data_i[bedrock_fill_width_p+:bedrock_fill_width_p]), + .mem_rev_v_i(_mem_rev_v_i[1]), + .mem_rev_ready_and_o(_mem_rev_ready_and_o[1]) + ); + bsg_fifo_1r1w_edge #(.width_p((1 * ((((0 + (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2))) + 3) + paddr_width_p) + 8)) + bedrock_fill_width_p)) mem_fwd( + .clk_i(negedge_clk), + .reset_i(reset_i), + .data_i({_mem_fwd_header_o[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))], _mem_fwd_data_o[bedrock_fill_width_p+:bedrock_fill_width_p]}), + .v_i(_mem_fwd_v_o[1]), + .ready_and_o(_mem_fwd_ready_and_i[1]), + .data_o({mem_fwd_header_o[mem_fwd_header_width_lp+:mem_fwd_header_width_lp], mem_fwd_data_o[bedrock_fill_width_p+:bedrock_fill_width_p]}), + .v_o(mem_fwd_v_o[1]), + .ready_and_i(mem_fwd_ready_and_i[1]) + ); + bsg_fifo_1r1w_edge #(.width_p((1 * ((((0 + (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2))) + 3) + paddr_width_p) + 8)) + bedrock_fill_width_p)) mem_rev( + .clk_i(posedge_clk), + .reset_i(reset_i), + .data_i({mem_rev_header_i[mem_rev_header_width_lp+:mem_rev_header_width_lp], mem_rev_data_i[bedrock_fill_width_p+:bedrock_fill_width_p]}), + .v_i(mem_rev_v_i[1]), + .ready_and_o(mem_rev_ready_and_o[1]), + .data_o({_mem_rev_header_i[(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) + (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))+:(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7) >= 0 ? (((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 8 : 1 - ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7))], _mem_rev_data_i[bedrock_fill_width_p+:bedrock_fill_width_p]}), + .v_o(_mem_rev_v_i[1]), + .ready_and_i(_mem_rev_ready_and_o[1]) + ); +endmodule +module bp_core_tile ( + clk_i, + rt_clk_i, + reset_i, + my_did_i, + host_did_i, + my_cord_i, + lce_req_link_i, + lce_req_link_o, + lce_cmd_link_i, + lce_cmd_link_o, + lce_fill_link_i, + lce_fill_link_o, + lce_resp_link_i, + lce_resp_link_o, + dma_link_o, + dma_link_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam cfg_bus_width_lp = (((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + input clk_i; + input rt_clk_i; + input reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [mem_noc_did_width_p - 1:0] host_did_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + input [coh_noc_ral_link_width_lp - 1:0] lce_req_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_req_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_cmd_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_fill_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_fill_link_o; + input [coh_noc_ral_link_width_lp - 1:0] lce_resp_link_i; + output wire [coh_noc_ral_link_width_lp - 1:0] lce_resp_link_o; + output wire [dma_noc_ral_link_width_lp - 1:0] dma_link_o; + input [dma_noc_ral_link_width_lp - 1:0] dma_link_i; + reg reset_r; + always @(posedge clk_i) reset_r <= reset_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_i; + assign lce_req_link_cast_i = lce_req_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_req_link_cast_o; + assign lce_req_link_o = lce_req_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_i; + assign lce_cmd_link_cast_i = lce_cmd_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_cmd_link_cast_o; + assign lce_cmd_link_o = lce_cmd_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_fill_link_cast_i; + assign lce_fill_link_cast_i = lce_fill_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_fill_link_cast_o; + assign lce_fill_link_o = lce_fill_link_cast_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_resp_link_cast_i; + assign lce_resp_link_cast_i = lce_resp_link_i; + wire [(2 + coh_noc_flit_width_p) - 1:0] lce_resp_link_cast_o; + assign lce_resp_link_o = lce_resp_link_cast_o; + wire [((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (2 * (((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8)) - 1 : (2 * (1 - (((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + (((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 6)):((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)] lce_req_header_lo; + wire [(2 * bedrock_fill_width_p) - 1:0] lce_req_data_lo; + wire [1:0] lce_req_v_lo; + wire [1:0] lce_req_ready_and_li; + wire [(2 * coh_noc_cord_width_p) - 1:0] lce_req_dst_cord_lo; + wire [(2 * coh_noc_cid_width_p) - 1:0] lce_req_dst_cid_lo; + wire [(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (2 * ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8)) - 1 : (2 * (1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 6)):(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)] lce_cmd_header_li; + wire [(2 * bedrock_fill_width_p) - 1:0] lce_cmd_data_li; + wire [1:0] lce_cmd_v_li; + wire [1:0] lce_cmd_ready_and_lo; + wire [(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (2 * ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8)) - 1 : (2 * (1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 6)):(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)] lce_fill_header_li; + wire [(2 * bedrock_fill_width_p) - 1:0] lce_fill_data_li; + wire [1:0] lce_fill_v_li; + wire [1:0] lce_fill_ready_and_lo; + wire [(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (2 * ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8)) - 1 : (2 * (1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 6)):(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)] lce_fill_header_lo; + wire [(2 * bedrock_fill_width_p) - 1:0] lce_fill_data_lo; + wire [1:0] lce_fill_v_lo; + wire [1:0] lce_fill_ready_and_li; + wire [(2 * coh_noc_cord_width_p) - 1:0] lce_fill_dst_cord_lo; + wire [(2 * coh_noc_cid_width_p) - 1:0] lce_fill_dst_cid_lo; + wire [((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (2 * (((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8)) - 1 : (2 * (1 - (((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + (((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 6)):((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : ((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)] lce_resp_header_lo; + wire [(2 * bedrock_fill_width_p) - 1:0] lce_resp_data_lo; + wire [1:0] lce_resp_v_lo; + wire [1:0] lce_resp_ready_and_li; + wire [(2 * coh_noc_cord_width_p) - 1:0] lce_resp_dst_cord_lo; + wire [(2 * coh_noc_cid_width_p) - 1:0] lce_resp_dst_cid_lo; + wire [((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_req_header_li; + wire [bedrock_fill_width_p - 1:0] lce_req_data_li; + wire lce_req_v_li; + wire lce_req_ready_and_lo; + wire [((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_resp_header_li; + wire [bedrock_fill_width_p - 1:0] lce_resp_data_li; + wire lce_resp_v_li; + wire lce_resp_ready_and_lo; + wire [(((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7:0] lce_cmd_header_lo; + wire [bedrock_fill_width_p - 1:0] lce_cmd_data_lo; + wire lce_cmd_v_lo; + wire lce_cmd_ready_and_li; + wire [coh_noc_cord_width_p - 1:0] lce_cmd_dst_cord_lo; + wire [coh_noc_cid_width_p - 1:0] lce_cmd_dst_cid_lo; + wire [(2 * (2 + coh_noc_flit_width_p)) - 1:0] lce_req_link_li; + wire [(2 * (2 + coh_noc_flit_width_p)) - 1:0] lce_req_link_lo; + wire [(2 * (2 + coh_noc_flit_width_p)) - 1:0] lce_cmd_link_li; + wire [(2 * (2 + coh_noc_flit_width_p)) - 1:0] lce_cmd_link_lo; + wire [(2 * (2 + coh_noc_flit_width_p)) - 1:0] lce_fill_link_li; + wire [(2 * (2 + coh_noc_flit_width_p)) - 1:0] lce_fill_link_lo; + wire [(2 * (2 + coh_noc_flit_width_p)) - 1:0] lce_resp_link_li; + wire [(2 * (2 + coh_noc_flit_width_p)) - 1:0] lce_resp_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] cce_lce_req_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] cce_lce_resp_link_lo; + assign cce_lce_req_link_lo[coh_noc_flit_width_p + 1] = 1'sb0; + assign cce_lce_req_link_lo[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p] = 1'sb0; + assign cce_lce_resp_link_lo[coh_noc_flit_width_p + 1] = 1'sb0; + assign cce_lce_resp_link_lo[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p] = 1'sb0; + genvar _gv_i_91; + localparam bp_common_pkg_lce_cmd_stream_mask_gp = 2064; + localparam bp_common_pkg_lce_fill_stream_mask_gp = 16; + localparam bp_common_pkg_lce_req_stream_mask_gp = 24; + localparam bp_common_pkg_lce_resp_stream_mask_gp = 8; + generate + for (_gv_i_91 = 0; _gv_i_91 < 2; _gv_i_91 = _gv_i_91 + 1) begin : lce + localparam i = _gv_i_91; + bp_me_cce_id_to_cord #(.bp_params_p(bp_params_p)) req_router_cord( + .cce_id_i(lce_req_header_lo[((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (i * ((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + ((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1))) : (((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1))))) : (((i * ((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + ((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1))) : (((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))))) + ((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)) - 1)-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)]), + .cce_cord_o(lce_req_dst_cord_lo[i * coh_noc_cord_width_p+:coh_noc_cord_width_p]), + .cce_cid_o(lce_req_dst_cid_lo[i * coh_noc_cid_width_p+:coh_noc_cid_width_p]) + ); + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_req_header_width_lp), + .pr_payload_width_p(lce_req_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_req_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_req_header_lo[((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) + (i * ((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)))+:((((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((((((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)) + 1) + lce_id_width_p) + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))]), + .pr_data_i(lce_req_data_lo[i * bedrock_fill_width_p+:bedrock_fill_width_p]), + .pr_v_i(lce_req_v_lo[i]), + .pr_ready_and_o(lce_req_ready_and_li[i]), + .dst_cord_i(lce_req_dst_cord_lo[i * coh_noc_cord_width_p+:coh_noc_cord_width_p]), + .dst_cid_i(lce_req_dst_cid_lo[i * coh_noc_cid_width_p+:coh_noc_cid_width_p]), + .link_data_o(lce_req_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p]), + .link_v_o(lce_req_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 1)]), + .link_ready_and_i(lce_req_link_li[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 0)]) + ); + assign lce_req_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 0)] = 1'b0; + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_cmd_header_width_lp), + .pr_payload_width_p(lce_cmd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_cmd_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_cmd_link_li[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p]), + .link_v_i(lce_cmd_link_li[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 1)]), + .link_ready_and_o(lce_cmd_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 0)]), + .pr_hdr_o(lce_cmd_header_li[(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) + (i * (((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)))+:(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))]), + .pr_data_o(lce_cmd_data_li[i * bedrock_fill_width_p+:bedrock_fill_width_p]), + .pr_v_o(lce_cmd_v_li[i]), + .pr_ready_and_i(lce_cmd_ready_and_lo[i]) + ); + assign lce_cmd_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 1)] = 1'sb0; + assign lce_cmd_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p] = 1'sb0; + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_fill_header_width_lp), + .pr_payload_width_p(lce_fill_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_fill_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_fill_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_fill_link_li[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p]), + .link_v_i(lce_fill_link_li[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 1)]), + .link_ready_and_o(lce_fill_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 0)]), + .pr_hdr_o(lce_fill_header_li[(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) + (i * (((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)))+:(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))]), + .pr_data_o(lce_fill_data_li[i * bedrock_fill_width_p+:bedrock_fill_width_p]), + .pr_v_o(lce_fill_v_li[i]), + .pr_ready_and_i(lce_fill_ready_and_lo[i]) + ); + bp_me_lce_id_to_cord #(.bp_params_p(bp_params_p)) fill_router_cord( + .lce_id_i(lce_fill_header_lo[(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (i * (((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + (((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1))) : ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1))))) : (((i * (((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + (((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1))) : ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))))) + ((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)) - 1)-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)]), + .lce_cord_o(lce_fill_dst_cord_lo[i * coh_noc_cord_width_p+:coh_noc_cord_width_p]), + .lce_cid_o(lce_fill_dst_cid_lo[i * coh_noc_cid_width_p+:coh_noc_cid_width_p]) + ); + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_fill_header_width_lp), + .pr_payload_width_p(lce_fill_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_fill_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_fill_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_fill_header_lo[(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) + (i * (((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)))+:(((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - ((((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))]), + .pr_data_i(lce_fill_data_lo[i * bedrock_fill_width_p+:bedrock_fill_width_p]), + .pr_v_i(lce_fill_v_lo[i]), + .pr_ready_and_o(lce_fill_ready_and_li[i]), + .dst_cord_i(lce_fill_dst_cord_lo[i * coh_noc_cord_width_p+:coh_noc_cord_width_p]), + .dst_cid_i(lce_fill_dst_cid_lo[i * coh_noc_cid_width_p+:coh_noc_cid_width_p]), + .link_data_o(lce_fill_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p]), + .link_v_o(lce_fill_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 1)]), + .link_ready_and_i(lce_fill_link_li[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 0)]) + ); + bp_me_cce_id_to_cord #(.bp_params_p(bp_params_p)) resp_router_cord( + .cce_id_i(lce_resp_header_lo[((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (i * ((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + ((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1))) : (((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1))))) : (((i * ((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))) + ((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? (((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1))) : (((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - ((((lce_id_width_p + cce_id_width_p) + did_width_p) - 1) - (cce_id_width_p + (did_width_p - 1)))))) + ((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)) - 1)-:((cce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((cce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (cce_id_width_p + (did_width_p - 1))) + 1)]), + .cce_cord_o(lce_resp_dst_cord_lo[i * coh_noc_cord_width_p+:coh_noc_cord_width_p]), + .cce_cid_o(lce_resp_dst_cid_lo[i * coh_noc_cid_width_p+:coh_noc_cid_width_p]) + ); + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_resp_header_width_lp), + .pr_payload_width_p(lce_resp_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_resp_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_resp_header_lo[((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? 0 : ((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) + (i * ((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7)))+:((((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7) >= 0 ? ((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 8 : 1 - (((((lce_id_width_p + cce_id_width_p) + did_width_p) + 3) + paddr_width_p) + 7))]), + .pr_data_i(lce_resp_data_lo[i * bedrock_fill_width_p+:bedrock_fill_width_p]), + .pr_v_i(lce_resp_v_lo[i]), + .pr_ready_and_o(lce_resp_ready_and_li[i]), + .dst_cord_i(lce_resp_dst_cord_lo[i * coh_noc_cord_width_p+:coh_noc_cord_width_p]), + .dst_cid_i(lce_resp_dst_cid_lo[i * coh_noc_cid_width_p+:coh_noc_cid_width_p]), + .link_data_o(lce_resp_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p]), + .link_v_o(lce_resp_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 1)]), + .link_ready_and_i(lce_resp_link_li[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 0)]) + ); + assign lce_resp_link_lo[(i * (2 + coh_noc_flit_width_p)) + (coh_noc_flit_width_p + 0)] = 1'b0; + end + endgenerate + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_req_header_width_lp), + .pr_payload_width_p(lce_req_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_req_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_req_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_req_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_req_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(cce_lce_req_link_lo[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_req_header_li), + .pr_data_o(lce_req_data_li), + .pr_v_o(lce_req_v_li), + .pr_ready_and_i(lce_req_ready_and_lo) + ); + bp_me_lce_id_to_cord #(.bp_params_p(bp_params_p)) cmd_router_cord( + .lce_id_i(lce_cmd_header_lo[((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) + (3 + (paddr_width_p + 7))) - (((((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + 3) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + cce_id_width_p) + lce_id_width_p) + did_width_p) - 1) - (lce_id_width_p + (did_width_p - 1)))-:((lce_id_width_p + (did_width_p - 1)) >= (did_width_p + 0) ? ((lce_id_width_p + (did_width_p - 1)) - (did_width_p + 0)) + 1 : ((did_width_p + 0) - (lce_id_width_p + (did_width_p - 1))) + 1)]), + .lce_cord_o(lce_cmd_dst_cord_lo), + .lce_cid_o(lce_cmd_dst_cid_lo) + ); + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_cmd_header_width_lp), + .pr_payload_width_p(lce_cmd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_cmd_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_cmd_stream_to_wh( + .clk_i(clk_i), + .reset_i(reset_r), + .pr_hdr_i(lce_cmd_header_lo), + .pr_data_i(lce_cmd_data_lo), + .pr_v_i(lce_cmd_v_lo), + .pr_ready_and_o(lce_cmd_ready_and_li), + .dst_cord_i(lce_cmd_dst_cord_lo), + .dst_cid_i(lce_cmd_dst_cid_lo), + .link_data_o(lce_cmd_link_cast_o[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_o(lce_cmd_link_cast_o[coh_noc_flit_width_p + 1]), + .link_ready_and_i(lce_cmd_link_cast_i[coh_noc_flit_width_p + 0]) + ); + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(coh_noc_flit_width_p), + .cord_width_p(coh_noc_cord_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .pr_hdr_width_p(lce_resp_header_width_lp), + .pr_payload_width_p(lce_resp_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_lce_resp_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) lce_resp_wh_to_stream( + .clk_i(clk_i), + .reset_i(reset_r), + .link_data_i(lce_resp_link_cast_i[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .link_v_i(lce_resp_link_cast_i[coh_noc_flit_width_p + 1]), + .link_ready_and_o(cce_lce_resp_link_lo[coh_noc_flit_width_p + 0]), + .pr_hdr_o(lce_resp_header_li), + .pr_data_o(lce_resp_data_li), + .pr_v_o(lce_resp_v_li), + .pr_ready_and_i(lce_resp_ready_and_lo) + ); + wire [(2 + coh_noc_flit_width_p) - 1:0] req_concentrated_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] req_concentrated_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] cmd_concentrated_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] cmd_concentrated_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] fill_concentrated_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] fill_concentrated_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] resp_concentrated_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] resp_concentrated_link_lo; + assign req_concentrated_link_li = lce_req_link_cast_i; + function automatic [coh_noc_flit_width_p - 1:0] sv2v_cast_C7676; + input reg [coh_noc_flit_width_p - 1:0] inp; + sv2v_cast_C7676 = inp; + endfunction + assign lce_req_link_cast_o = {req_concentrated_link_lo[coh_noc_flit_width_p + 1], cce_lce_req_link_lo[coh_noc_flit_width_p + 0], sv2v_cast_C7676(req_concentrated_link_lo[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p])}; + bsg_wormhole_concentrator_in #( + .flit_width_p(coh_noc_flit_width_p), + .len_width_p(coh_noc_len_width_p), + .num_in_p(2), + .cord_width_p(coh_noc_cord_width_p), + .hold_on_valid_p(1) + ) req_concentrator( + .clk_i(clk_i), + .reset_i(reset_r), + .links_v_i({lce_req_link_lo[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p + 1)], lce_req_link_lo[0 + (coh_noc_flit_width_p + 1)]}), + .links_data_i({lce_req_link_lo[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p], lce_req_link_lo[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]}), + .links_ready_and_rev_o({lce_req_link_li[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p + 0)], lce_req_link_li[0 + (coh_noc_flit_width_p + 0)]}), + .concentrated_link_v_o(req_concentrated_link_lo[coh_noc_flit_width_p + 1]), + .concentrated_link_data_o(req_concentrated_link_lo[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .concentrated_link_ready_and_rev_i(req_concentrated_link_li[coh_noc_flit_width_p + 0]) + ); + assign lce_req_link_li[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p + 1)] = 1'b0; + assign lce_req_link_li[0 + (coh_noc_flit_width_p + 1)] = 1'b0; + assign lce_req_link_li[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p] = 1'sb0; + assign lce_req_link_li[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p] = 1'sb0; + assign req_concentrated_link_lo[coh_noc_flit_width_p + 0] = 1'b0; + assign cmd_concentrated_link_li = lce_cmd_link_cast_i; + assign lce_cmd_link_cast_o[coh_noc_flit_width_p + 0] = cmd_concentrated_link_lo[coh_noc_flit_width_p + 0]; + bsg_wormhole_concentrator_out #( + .flit_width_p(coh_noc_flit_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .num_in_p(2), + .cord_width_p(coh_noc_cord_width_p), + .hold_on_valid_p(1) + ) cmd_concentrator( + .clk_i(clk_i), + .reset_i(reset_r), + .links_v_o({lce_cmd_link_li[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p + 1)], lce_cmd_link_li[0 + (coh_noc_flit_width_p + 1)]}), + .links_data_o({lce_cmd_link_li[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p], lce_cmd_link_li[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]}), + .links_ready_and_rev_i({lce_cmd_link_lo[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p + 0)], lce_cmd_link_lo[0 + (coh_noc_flit_width_p + 0)]}), + .concentrated_link_v_i(cmd_concentrated_link_li[coh_noc_flit_width_p + 1]), + .concentrated_link_data_i(cmd_concentrated_link_li[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .concentrated_link_ready_and_rev_o(cmd_concentrated_link_lo[coh_noc_flit_width_p + 0]) + ); + assign lce_cmd_link_li[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p + 0)] = 1'b0; + assign lce_cmd_link_li[0 + (coh_noc_flit_width_p + 0)] = 1'b0; + assign cmd_concentrated_link_lo[coh_noc_flit_width_p + 1] = 1'b0; + assign cmd_concentrated_link_lo[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p] = 1'sb0; + assign fill_concentrated_link_li = lce_fill_link_cast_i; + assign lce_fill_link_cast_o = fill_concentrated_link_lo; + bsg_wormhole_concentrator #( + .flit_width_p(coh_noc_flit_width_p), + .len_width_p(coh_noc_len_width_p), + .cid_width_p(coh_noc_cid_width_p), + .num_in_p(2), + .cord_width_p(coh_noc_cord_width_p), + .hold_on_valid_p(1) + ) fill_concentrator( + .clk_i(clk_i), + .reset_i(reset_r), + .links_i(lce_fill_link_lo), + .links_o(lce_fill_link_li), + .concentrated_link_i(fill_concentrated_link_li), + .concentrated_link_o(fill_concentrated_link_lo) + ); + assign resp_concentrated_link_li = lce_resp_link_cast_i; + assign lce_resp_link_cast_o = {resp_concentrated_link_lo[coh_noc_flit_width_p + 1], cce_lce_resp_link_lo[coh_noc_flit_width_p + 0], sv2v_cast_C7676(resp_concentrated_link_lo[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p])}; + bsg_wormhole_concentrator_in #( + .flit_width_p(coh_noc_flit_width_p), + .len_width_p(coh_noc_len_width_p), + .num_in_p(2), + .cord_width_p(coh_noc_cord_width_p), + .hold_on_valid_p(1) + ) resp_concentrator( + .clk_i(clk_i), + .reset_i(reset_r), + .links_v_i({lce_resp_link_lo[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p + 1)], lce_resp_link_lo[0 + (coh_noc_flit_width_p + 1)]}), + .links_data_i({lce_resp_link_lo[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p], lce_resp_link_lo[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]}), + .links_ready_and_rev_o({lce_resp_link_li[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p + 0)], lce_resp_link_li[0 + (coh_noc_flit_width_p + 0)]}), + .concentrated_link_v_o(resp_concentrated_link_lo[coh_noc_flit_width_p + 1]), + .concentrated_link_data_o(resp_concentrated_link_lo[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p]), + .concentrated_link_ready_and_rev_i(resp_concentrated_link_li[coh_noc_flit_width_p + 0]) + ); + assign lce_resp_link_li[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p + 1)] = 1'b0; + assign lce_resp_link_li[0 + (coh_noc_flit_width_p + 1)] = 1'b0; + assign lce_resp_link_li[(2 + coh_noc_flit_width_p) + (coh_noc_flit_width_p - 1)-:coh_noc_flit_width_p] = 1'sb0; + assign lce_resp_link_li[coh_noc_flit_width_p - 1-:coh_noc_flit_width_p] = 1'sb0; + assign resp_concentrated_link_lo[coh_noc_flit_width_p + 0] = 1'b0; + wire [((((((((((1 + vaddr_width_p) + core_id_width_p) + lce_id_width_p) + 2) + lce_id_width_p) + 2) + cce_id_width_p) + 1) + hio_width_p) + did_width_p) - 1:0] cfg_bus_lo; + wire cce_ucode_v_lo; + wire cce_ucode_w_lo; + wire [cce_pc_width_p - 1:0] cce_ucode_addr_lo; + localparam bp_me_pkg_cce_instr_width_gp = 34; + wire [33:0] cce_ucode_data_lo; + wire [33:0] cce_ucode_data_li; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_lo; + wire [bedrock_fill_width_p - 1:0] mem_fwd_data_lo; + wire mem_fwd_v_lo; + wire mem_fwd_ready_and_li; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_li; + wire [bedrock_fill_width_p - 1:0] mem_rev_data_li; + wire mem_rev_v_li; + wire mem_rev_ready_and_lo; + wire [(l2_dmas_p * ((1 + daddr_width_p) + l2_block_size_in_words_p)) - 1:0] dma_pkt_lo; + wire [l2_dmas_p - 1:0] dma_pkt_v_lo; + wire [l2_dmas_p - 1:0] dma_pkt_yumi_li; + wire [(l2_dmas_p * l2_fill_width_p) - 1:0] dma_data_li; + wire [l2_dmas_p - 1:0] dma_data_v_li; + wire [l2_dmas_p - 1:0] dma_data_ready_and_lo; + wire [(l2_dmas_p * l2_fill_width_p) - 1:0] dma_data_lo; + wire [l2_dmas_p - 1:0] dma_data_v_lo; + wire [l2_dmas_p - 1:0] dma_data_yumi_li; + bp_core #(.bp_params_p(bp_params_p)) core( + .clk_i(clk_i), + .rt_clk_i(rt_clk_i), + .reset_i(reset_r), + .my_did_i(my_did_i), + .host_did_i(host_did_i), + .my_cord_i(my_cord_i), + .cfg_bus_o(cfg_bus_lo), + .cce_ucode_v_o(cce_ucode_v_lo), + .cce_ucode_w_o(cce_ucode_w_lo), + .cce_ucode_addr_o(cce_ucode_addr_lo), + .cce_ucode_data_o(cce_ucode_data_lo), + .cce_ucode_data_i(cce_ucode_data_li), + .lce_req_header_o(lce_req_header_lo), + .lce_req_data_o(lce_req_data_lo), + .lce_req_v_o(lce_req_v_lo), + .lce_req_ready_and_i(lce_req_ready_and_li), + .lce_cmd_header_i(lce_cmd_header_li), + .lce_cmd_data_i(lce_cmd_data_li), + .lce_cmd_v_i(lce_cmd_v_li), + .lce_cmd_ready_and_o(lce_cmd_ready_and_lo), + .lce_resp_header_o(lce_resp_header_lo), + .lce_resp_data_o(lce_resp_data_lo), + .lce_resp_v_o(lce_resp_v_lo), + .lce_resp_ready_and_i(lce_resp_ready_and_li), + .lce_fill_header_i(lce_fill_header_li), + .lce_fill_data_i(lce_fill_data_li), + .lce_fill_v_i(lce_fill_v_li), + .lce_fill_ready_and_o(lce_fill_ready_and_lo), + .lce_fill_header_o(lce_fill_header_lo), + .lce_fill_data_o(lce_fill_data_lo), + .lce_fill_v_o(lce_fill_v_lo), + .lce_fill_ready_and_i(lce_fill_ready_and_li), + .mem_fwd_header_i(mem_fwd_header_lo), + .mem_fwd_data_i(mem_fwd_data_lo), + .mem_fwd_v_i(mem_fwd_v_lo), + .mem_fwd_ready_and_o(mem_fwd_ready_and_li), + .mem_rev_header_o(mem_rev_header_li), + .mem_rev_data_o(mem_rev_data_li), + .mem_rev_v_o(mem_rev_v_li), + .mem_rev_ready_and_i(mem_rev_ready_and_lo), + .dma_pkt_o(dma_pkt_lo), + .dma_pkt_v_o(dma_pkt_v_lo), + .dma_pkt_ready_and_i(dma_pkt_yumi_li), + .dma_data_i(dma_data_li), + .dma_data_v_i(dma_data_v_li), + .dma_data_ready_and_o(dma_data_ready_and_lo), + .dma_data_o(dma_data_lo), + .dma_data_v_o(dma_data_v_lo), + .dma_data_ready_and_i(dma_data_yumi_li) + ); + bp_cce_wrapper #(.bp_params_p(bp_params_p)) cce( + .clk_i(clk_i), + .reset_i(reset_r), + .cfg_bus_i(cfg_bus_lo), + .ucode_v_i(cce_ucode_v_lo), + .ucode_w_i(cce_ucode_w_lo), + .ucode_addr_i(cce_ucode_addr_lo), + .ucode_data_i(cce_ucode_data_lo), + .ucode_data_o(cce_ucode_data_li), + .lce_req_header_i(lce_req_header_li), + .lce_req_data_i(lce_req_data_li), + .lce_req_v_i(lce_req_v_li), + .lce_req_ready_and_o(lce_req_ready_and_lo), + .lce_resp_header_i(lce_resp_header_li), + .lce_resp_data_i(lce_resp_data_li), + .lce_resp_v_i(lce_resp_v_li), + .lce_resp_ready_and_o(lce_resp_ready_and_lo), + .lce_cmd_header_o(lce_cmd_header_lo), + .lce_cmd_data_o(lce_cmd_data_lo), + .lce_cmd_v_o(lce_cmd_v_lo), + .lce_cmd_ready_and_i(lce_cmd_ready_and_li), + .mem_rev_header_i(mem_rev_header_li), + .mem_rev_data_i(mem_rev_data_li), + .mem_rev_v_i(mem_rev_v_li), + .mem_rev_ready_and_o(mem_rev_ready_and_lo), + .mem_fwd_header_o(mem_fwd_header_lo), + .mem_fwd_data_o(mem_fwd_data_lo), + .mem_fwd_v_o(mem_fwd_v_lo), + .mem_fwd_ready_and_i(mem_fwd_ready_and_li) + ); + wire [(l2_dmas_p * (2 + dma_noc_flit_width_p)) - 1:0] dma_link_lo; + wire [(l2_dmas_p * (2 + dma_noc_flit_width_p)) - 1:0] dma_link_li; + genvar _gv_i_92; + generate + for (_gv_i_92 = 0; _gv_i_92 < l2_dmas_p; _gv_i_92 = _gv_i_92 + 1) begin : dma + localparam i = _gv_i_92; + wire [dma_noc_cord_width_p - 1:0] cord_li = my_cord_i[coh_noc_x_cord_width_p+:dma_noc_y_cord_width_p]; + wire [dma_noc_cid_width_p - 1:0] cid_li = i; + localparam sv2v_uu_dma2wh_wh_cord_width_p = dma_noc_cord_width_p; + localparam [dma_noc_cord_width_p - 1:0] sv2v_uu_dma2wh_ext_dest_wh_cord_i_1 = 1'sb1; + localparam sv2v_uu_dma2wh_wh_cid_width_p = dma_noc_cid_width_p; + localparam [dma_noc_cid_width_p - 1:0] sv2v_uu_dma2wh_ext_dest_wh_cid_i_0 = 1'sb0; + bsg_cache_dma_to_wormhole #( + .dma_addr_width_p(daddr_width_p), + .dma_burst_len_p(l2_block_size_in_fill_p), + .dma_mask_width_p(l2_block_size_in_words_p), + .wh_flit_width_p(dma_noc_flit_width_p), + .wh_cid_width_p(dma_noc_cid_width_p), + .wh_len_width_p(dma_noc_len_width_p), + .wh_cord_width_p(dma_noc_cord_width_p) + ) dma2wh( + .clk_i(clk_i), + .reset_i(reset_r), + .dma_pkt_i(dma_pkt_lo[i * ((1 + daddr_width_p) + l2_block_size_in_words_p)+:(1 + daddr_width_p) + l2_block_size_in_words_p]), + .dma_pkt_v_i(dma_pkt_v_lo[i]), + .dma_pkt_yumi_o(dma_pkt_yumi_li[i]), + .dma_data_o(dma_data_li[i * l2_fill_width_p+:l2_fill_width_p]), + .dma_data_v_o(dma_data_v_li[i]), + .dma_data_ready_and_i(dma_data_ready_and_lo[i]), + .dma_data_i(dma_data_lo[i * l2_fill_width_p+:l2_fill_width_p]), + .dma_data_v_i(dma_data_v_lo[i]), + .dma_data_yumi_o(dma_data_yumi_li[i]), + .wh_link_sif_i(dma_link_li[i * (2 + dma_noc_flit_width_p)+:2 + dma_noc_flit_width_p]), + .wh_link_sif_o(dma_link_lo[i * (2 + dma_noc_flit_width_p)+:2 + dma_noc_flit_width_p]), + .my_wh_cord_i(cord_li), + .my_wh_cid_i(cid_li), + .dest_wh_cord_i(sv2v_uu_dma2wh_ext_dest_wh_cord_i_1), + .dest_wh_cid_i(sv2v_uu_dma2wh_ext_dest_wh_cid_i_0) + ); + end + endgenerate + bsg_wormhole_concentrator #( + .flit_width_p(dma_noc_flit_width_p), + .len_width_p(dma_noc_len_width_p), + .cid_width_p(dma_noc_cid_width_p), + .cord_width_p(dma_noc_cord_width_p), + .num_in_p(l2_dmas_p), + .hold_on_valid_p(1) + ) dma_concentrate( + .clk_i(clk_i), + .reset_i(reset_r), + .links_i(dma_link_lo), + .links_o(dma_link_li), + .concentrated_link_o(dma_link_o), + .concentrated_link_i(dma_link_i) + ); +endmodule +module bp_core_tile_node ( + core_clk_i, + rt_clk_i, + core_reset_i, + coh_clk_i, + coh_reset_i, + dma_clk_i, + dma_reset_i, + my_did_i, + host_did_i, + my_cord_i, + coh_lce_req_link_i, + coh_lce_req_link_o, + coh_lce_cmd_link_i, + coh_lce_cmd_link_o, + coh_lce_fill_link_i, + coh_lce_fill_link_o, + coh_lce_resp_link_i, + coh_lce_resp_link_o, + dma_link_i, + dma_link_o +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam coh_noc_ral_link_width_lp = coh_noc_flit_width_p + 2; + localparam dma_noc_ral_link_width_lp = dma_noc_flit_width_p + 2; + input core_clk_i; + input rt_clk_i; + input core_reset_i; + input coh_clk_i; + input coh_reset_i; + input dma_clk_i; + input dma_reset_i; + input [mem_noc_did_width_p - 1:0] my_did_i; + input [mem_noc_did_width_p - 1:0] host_did_i; + input [coh_noc_cord_width_p - 1:0] my_cord_i; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_req_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_cmd_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_fill_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_fill_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_resp_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3(3'd0 + 1)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * coh_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * coh_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * coh_noc_ral_link_width_lp)] coh_lce_resp_link_o; + input [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * dma_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 2) * dma_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * dma_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * dma_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * dma_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * dma_noc_ral_link_width_lp)] dma_link_i; + output wire [(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * dma_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 2) * dma_noc_ral_link_width_lp) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * dma_noc_ral_link_width_lp) + ((sv2v_cast_3((3'd0 + 1) + 3) * dma_noc_ral_link_width_lp) - 1)):(sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * dma_noc_ral_link_width_lp : sv2v_cast_3((3'd0 + 1) + 3) * dma_noc_ral_link_width_lp)] dma_link_o; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_req_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_req_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_cmd_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_cmd_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_fill_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_fill_link_lo; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_resp_link_li; + wire [(2 + coh_noc_flit_width_p) - 1:0] core_lce_resp_link_lo; + wire [(2 + dma_noc_flit_width_p) - 1:0] core_dma_link_lo; + wire [(2 + dma_noc_flit_width_p) - 1:0] core_dma_link_li; + bp_core_tile #(.bp_params_p(bp_params_p)) tile( + .clk_i(core_clk_i), + .rt_clk_i(rt_clk_i), + .reset_i(core_reset_i), + .my_did_i(my_did_i), + .host_did_i(host_did_i), + .my_cord_i(my_cord_i), + .lce_req_link_i(core_lce_req_link_li), + .lce_req_link_o(core_lce_req_link_lo), + .lce_cmd_link_i(core_lce_cmd_link_li), + .lce_cmd_link_o(core_lce_cmd_link_lo), + .lce_fill_link_i(core_lce_fill_link_li), + .lce_fill_link_o(core_lce_fill_link_lo), + .lce_resp_link_i(core_lce_resp_link_li), + .lce_resp_link_o(core_lce_resp_link_lo), + .dma_link_o(core_dma_link_lo), + .dma_link_i(core_dma_link_li) + ); + localparam [49:0] bsg_wormhole_router_pkg_StrictYX = 50'b01001100011101111101111110111110111000110010111111; + bp_nd_socket #( + .flit_width_p(coh_noc_flit_width_p), + .dims_p(coh_noc_dims_p), + .cord_dims_p(coh_noc_dims_p), + .cord_markers_pos_p(coh_noc_cord_markers_pos_p), + .len_width_p(coh_noc_len_width_p), + .routing_matrix_p(bsg_wormhole_router_pkg_StrictYX), + .async_clk_p(async_coh_clk_p), + .els_p(4) + ) core_coh_socket( + .tile_clk_i(core_clk_i), + .tile_reset_i(core_reset_i), + .network_clk_i(coh_clk_i), + .network_reset_i(coh_reset_i), + .my_cord_i(my_cord_i), + .network_link_i({coh_lce_req_link_i, coh_lce_cmd_link_i, coh_lce_fill_link_i, coh_lce_resp_link_i}), + .network_link_o({coh_lce_req_link_o, coh_lce_cmd_link_o, coh_lce_fill_link_o, coh_lce_resp_link_o}), + .tile_link_i({core_lce_req_link_lo, core_lce_cmd_link_lo, core_lce_fill_link_lo, core_lce_resp_link_lo}), + .tile_link_o({core_lce_req_link_li, core_lce_cmd_link_li, core_lce_fill_link_li, core_lce_resp_link_li}) + ); + localparam [17:0] bsg_wormhole_router_pkg_StrictX = 18'b011101111011101111; + bp_nd_socket #( + .flit_width_p(dma_noc_flit_width_p), + .dims_p(dma_noc_dims_p), + .cord_dims_p(dma_noc_cord_dims_p), + .cord_markers_pos_p(dma_noc_cord_markers_pos_p), + .len_width_p(dma_noc_len_width_p), + .routing_matrix_p(bsg_wormhole_router_pkg_StrictX), + .async_clk_p(async_dma_clk_p), + .els_p(1) + ) core_mem_socket( + .tile_clk_i(core_clk_i), + .tile_reset_i(core_reset_i), + .network_clk_i(dma_clk_i), + .network_reset_i(dma_reset_i), + .my_cord_i(my_cord_i[coh_noc_x_cord_width_p+:dma_noc_y_cord_width_p]), + .network_link_i(dma_link_i), + .network_link_o(dma_link_o), + .tile_link_i(core_dma_link_lo), + .tile_link_o(core_dma_link_li) + ); +endmodule +module bp_processor ( + clk_i, + rt_clk_i, + reset_i, + my_did_i, + host_did_i, + mem_fwd_header_o, + mem_fwd_data_o, + mem_fwd_v_o, + mem_fwd_ready_and_i, + mem_rev_header_i, + mem_rev_data_i, + mem_rev_v_i, + mem_rev_ready_and_o, + mem_fwd_header_i, + mem_fwd_data_i, + mem_fwd_v_i, + mem_fwd_ready_and_o, + mem_rev_header_o, + mem_rev_data_o, + mem_rev_v_o, + mem_rev_ready_and_i, + dma_pkt_o, + dma_pkt_v_o, + dma_pkt_ready_and_i, + dma_data_i, + dma_data_v_i, + dma_data_ready_and_o, + dma_data_o, + dma_data_v_o, + dma_data_ready_and_i +); + localparam bp_common_pkg_max_cfgs = 128; + localparam bp_common_pkg_lg_max_cfgs = 7; + parameter [6:0] bp_params_p = 7'd0; + localparam [2687:0] bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_cfg_p = bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] bp_common_pkg_all_cfgs_gp = {bp_common_pkg_bp_multicore_4_l2e_cfg_p, bp_common_pkg_bp_multicore_2_l2e_cfg_p, bp_common_pkg_bp_multicore_1_l2e_cfg_p, bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, bp_common_pkg_bp_multicore_16_cfg_p, bp_common_pkg_bp_multicore_12_cfg_p, bp_common_pkg_bp_multicore_8_cfg_p, bp_common_pkg_bp_multicore_6_cfg_p, bp_common_pkg_bp_multicore_4_cfg_p, bp_common_pkg_bp_multicore_3_cfg_p, bp_common_pkg_bp_multicore_2_cfg_p, bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, bp_common_pkg_bp_multicore_1_cfg_p, bp_common_pkg_bp_unicore_megaparrot_cfg_p, bp_common_pkg_bp_unicore_miniparrot_cfg_p, bp_common_pkg_bp_unicore_tinyparrot_cfg_p, bp_common_pkg_bp_unicore_cfg_p, bp_common_pkg_bp_custom_cfg_p, bp_common_pkg_bp_default_cfg_p}; + localparam [2687:0] proc_param_lp = bp_common_pkg_all_cfgs_gp[bp_params_p * 2688+:2688]; + localparam cc_x_dim_p = $signed(proc_param_lp[2687-:32]); + localparam cc_y_dim_p = $signed(proc_param_lp[2655-:32]); + localparam ic_x_dim_p = cc_x_dim_p; + localparam ic_y_dim_p = $signed(proc_param_lp[2623-:32]); + localparam mc_x_dim_p = cc_x_dim_p; + localparam mc_y_dim_p = $signed(proc_param_lp[2591-:32]); + localparam cac_x_dim_p = $signed(proc_param_lp[2559-:32]); + localparam cac_y_dim_p = cc_y_dim_p; + localparam sac_x_dim_p = $signed(proc_param_lp[2527-:32]); + localparam sac_y_dim_p = cc_y_dim_p; + function automatic [15:0] sv2v_cast_16; + input reg [15:0] inp; + sv2v_cast_16 = inp; + endfunction + localparam cacc_type_p = sv2v_cast_16($signed(proc_param_lp[2495-:32])); + localparam sacc_type_p = sv2v_cast_16($signed(proc_param_lp[2463-:32])); + localparam num_core_p = cc_x_dim_p * cc_y_dim_p; + localparam num_io_p = ic_x_dim_p * ic_y_dim_p; + localparam num_l2e_p = mc_x_dim_p * mc_y_dim_p; + localparam num_cacc_p = cac_x_dim_p * cac_y_dim_p; + localparam num_sacc_p = sac_x_dim_p * sac_y_dim_p; + localparam cacc_en_p = num_cacc_p > 32'sd0; + localparam sacc_en_p = num_sacc_p > 32'sd0; + localparam num_cce_p = $signed(proc_param_lp[2431-:32]); + localparam num_lce_p = $signed(proc_param_lp[2399-:32]); + localparam num_pseudo_cce_p = ((((num_core_p + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam num_pseudo_lce_p = (((((2 * num_core_p) + num_io_p) + num_l2e_p) + num_cacc_p) + num_sacc_p) + 1; + localparam core_id_width_p = ((num_core_p == 1) || (num_core_p == 0) ? 1 : $clog2(num_core_p)); + localparam cce_id_width_p = ((num_pseudo_cce_p == 1) || (num_pseudo_cce_p == 0) ? 1 : $clog2(num_pseudo_cce_p)); + localparam lce_id_width_p = ((num_pseudo_lce_p == 1) || (num_pseudo_lce_p == 0) ? 1 : $clog2(num_pseudo_lce_p)); + localparam vaddr_width_p = $signed(proc_param_lp[2367-:32]); + localparam paddr_width_p = $signed(proc_param_lp[2335-:32]); + localparam daddr_width_p = $signed(proc_param_lp[2303-:32]); + localparam caddr_width_p = $signed(proc_param_lp[2271-:32]); + localparam asid_width_p = $signed(proc_param_lp[2239-:32]); + localparam hio_width_p = paddr_width_p - daddr_width_p; + localparam branch_metadata_fwd_width_p = $signed(proc_param_lp[2207-:32]); + localparam ras_idx_width_p = $signed(proc_param_lp[2175-:32]); + localparam btb_tag_width_p = $signed(proc_param_lp[2143-:32]); + localparam btb_idx_width_p = $signed(proc_param_lp[2111-:32]); + localparam bht_idx_width_p = $signed(proc_param_lp[2079-:32]); + localparam bht_row_els_p = $signed(proc_param_lp[2047-:32]); + localparam ghist_width_p = $signed(proc_param_lp[2015-:32]); + localparam bht_row_width_p = 2 * bht_row_els_p; + localparam bht_offset_width_p = ((bht_row_els_p == 1) || (bht_row_els_p == 0) ? 1 : $clog2(bht_row_els_p)); + localparam itlb_els_4k_p = $signed(proc_param_lp[1983-:32]); + localparam itlb_els_2m_p = $signed(proc_param_lp[1951-:32]); + localparam itlb_els_1g_p = $signed(proc_param_lp[1919-:32]); + localparam dtlb_els_4k_p = $signed(proc_param_lp[1887-:32]); + localparam dtlb_els_2m_p = $signed(proc_param_lp[1855-:32]); + localparam dtlb_els_1g_p = $signed(proc_param_lp[1823-:32]); + function automatic [15:0] sv2v_cast_0A16B; + input reg [15:0] inp; + sv2v_cast_0A16B = inp; + endfunction + localparam [15:0] icache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1791-:32])); + localparam icache_sets_p = $signed(proc_param_lp[1759-:32]); + localparam icache_assoc_p = $signed(proc_param_lp[1727-:32]); + localparam icache_block_width_p = $signed(proc_param_lp[1695-:32]); + localparam icache_fill_width_p = $signed(proc_param_lp[1663-:32]); + localparam icache_data_width_p = $signed(proc_param_lp[1631-:32]); + localparam icache_mshr_p = $signed(proc_param_lp[1599-:32]); + localparam icache_req_id_width_p = ((icache_mshr_p == 1) || (icache_mshr_p == 0) ? 1 : $clog2(icache_mshr_p)); + localparam icache_way_groups_p = icache_sets_p; + localparam [15:0] dcache_features_p = sv2v_cast_0A16B($signed(proc_param_lp[1567-:32])); + localparam dcache_sets_p = $signed(proc_param_lp[1535-:32]); + localparam dcache_assoc_p = $signed(proc_param_lp[1503-:32]); + localparam dcache_block_width_p = $signed(proc_param_lp[1471-:32]); + localparam dcache_fill_width_p = $signed(proc_param_lp[1439-:32]); + localparam dcache_data_width_p = $signed(proc_param_lp[1407-:32]); + localparam dcache_mshr_p = $signed(proc_param_lp[1375-:32]); + localparam dcache_req_id_width_p = ((dcache_mshr_p == 1) || (dcache_mshr_p == 0) ? 1 : $clog2(dcache_mshr_p)); + localparam dcache_way_groups_p = dcache_sets_p; + localparam [15:0] acache_features_p = sv2v_cast_0A16B((cacc_en_p ? $signed(proc_param_lp[1343-:32]) : 0)); + localparam acache_sets_p = (cacc_en_p ? $signed(proc_param_lp[1311-:32]) : 0); + localparam acache_assoc_p = (cacc_en_p ? $signed(proc_param_lp[1279-:32]) : 0); + localparam acache_block_width_p = (cacc_en_p ? $signed(proc_param_lp[1247-:32]) : 0); + localparam acache_fill_width_p = (cacc_en_p ? $signed(proc_param_lp[1215-:32]) : 0); + localparam acache_data_width_p = (cacc_en_p ? $signed(proc_param_lp[1183-:32]) : 0); + localparam acache_mshr_p = (cacc_en_p ? $signed(proc_param_lp[1151-:32]) : 1); + localparam acache_req_id_width_p = (cacc_en_p ? ((acache_mshr_p == 1) || (acache_mshr_p == 0) ? 1 : $clog2(acache_mshr_p)) : 0); + localparam acache_way_groups_p = (cacc_en_p ? acache_sets_p : {32 {1'sb1}}); + localparam lce_assoc_p = (dcache_assoc_p > (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p) ? dcache_assoc_p : (icache_assoc_p > acache_assoc_p ? icache_assoc_p : acache_assoc_p)); + localparam lce_assoc_width_p = ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)); + localparam lce_sets_p = (dcache_sets_p > (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p) ? dcache_sets_p : (icache_sets_p > acache_sets_p ? icache_sets_p : acache_sets_p)); + localparam lce_sets_width_p = ((lce_sets_p == 1) || (lce_sets_p == 0) ? 1 : $clog2(lce_sets_p)); + function automatic [1:0] sv2v_cast_2; + input reg [1:0] inp; + sv2v_cast_2 = inp; + endfunction + localparam cce_type_p = sv2v_cast_2($signed(proc_param_lp[1119-:32])); + localparam cce_pc_width_p = $signed(proc_param_lp[1087-:32]); + localparam bedrock_block_width_p = $signed(proc_param_lp[1055-:32]); + localparam bedrock_fill_width_p = $signed(proc_param_lp[1023-:32]); + localparam num_cce_instr_ram_els_p = 2 ** cce_pc_width_p; + localparam cce_way_groups_p = (dcache_way_groups_p < (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p) ? dcache_way_groups_p : (icache_way_groups_p < acache_way_groups_p ? icache_way_groups_p : acache_way_groups_p)); + localparam [15:0] l2_features_p = sv2v_cast_0A16B($signed(proc_param_lp[991-:32])); + localparam l2_slices_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[959-:32]) : 1); + localparam l2_banks_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[927-:32]) : 1); + localparam l2_sets_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[863-:32]) : 4); + localparam l2_assoc_p = (l2_features_p[4'b0000] ? $signed(proc_param_lp[831-:32]) : 2); + localparam l2_block_width_p = $signed(proc_param_lp[799-:32]); + localparam l2_fill_width_p = $signed(proc_param_lp[767-:32]); + localparam l2_data_width_p = $signed(proc_param_lp[895-:32]); + localparam l2_dmas_p = l2_slices_p * l2_banks_p; + localparam l2_block_size_in_words_p = l2_block_width_p / l2_data_width_p; + localparam l2_block_size_in_fill_p = l2_block_width_p / l2_fill_width_p; + localparam fe_queue_fifo_els_p = $signed(proc_param_lp[735-:32]); + localparam fe_cmd_fifo_els_p = $signed(proc_param_lp[703-:32]); + function automatic [1:0] sv2v_cast_400E2; + input reg [1:0] inp; + sv2v_cast_400E2 = inp; + endfunction + localparam integer_support_p = sv2v_cast_400E2($signed(proc_param_lp[671-:32])); + function automatic [3:0] sv2v_cast_AF009; + input reg [3:0] inp; + sv2v_cast_AF009 = inp; + endfunction + localparam muldiv_support_p = sv2v_cast_AF009($signed(proc_param_lp[639-:32])); + localparam fpu_support_p = sv2v_cast_AF009($signed(proc_param_lp[607-:32])); + localparam compressed_support_p = sv2v_cast_400E2($signed(proc_param_lp[575-:32])); + localparam bitmanip_support_p = sv2v_cast_AF009($signed(proc_param_lp[543-:32])); + localparam async_coh_clk_p = $signed(proc_param_lp[511-:32]); + localparam coh_noc_max_credits_p = $signed(proc_param_lp[383-:32]); + localparam coh_noc_flit_width_p = $signed(proc_param_lp[479-:32]); + localparam coh_noc_cid_width_p = $signed(proc_param_lp[447-:32]); + localparam coh_noc_len_width_p = $signed(proc_param_lp[415-:32]); + localparam coh_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam coh_noc_x_cord_width_p = $clog2({1'b0, (sac_x_dim_p + cc_x_dim_p) + cac_x_dim_p} + 1); + localparam coh_noc_dims_p = 2; + localparam coh_noc_dirs_p = 5; + localparam coh_noc_trans_p = 0; + localparam signed [95:0] coh_noc_cord_markers_pos_p = (coh_noc_trans_p ? {coh_noc_x_cord_width_p + coh_noc_y_cord_width_p, coh_noc_y_cord_width_p, 0} : {coh_noc_y_cord_width_p + coh_noc_x_cord_width_p, coh_noc_x_cord_width_p, 0}); + localparam coh_noc_cord_width_p = coh_noc_cord_markers_pos_p[64+:32]; + localparam async_mem_clk_p = $signed(proc_param_lp[351-:32]); + localparam mem_noc_max_credits_p = $signed(proc_param_lp[191-:32]); + localparam mem_noc_did_width_p = $signed(proc_param_lp[255-:32]); + localparam mem_noc_flit_width_p = $signed(proc_param_lp[319-:32]); + localparam mem_noc_cid_width_p = $signed(proc_param_lp[287-:32]); + localparam mem_noc_len_width_p = $signed(proc_param_lp[223-:32]); + localparam mem_noc_y_cord_width_p = 0; + localparam mem_noc_x_cord_width_p = mem_noc_did_width_p; + localparam mem_noc_dims_p = 1; + localparam mem_noc_cord_dims_p = 2; + localparam mem_noc_dirs_p = 5; + localparam mem_noc_trans_p = 0; + localparam signed [95:0] mem_noc_cord_markers_pos_p = (mem_noc_trans_p ? {mem_noc_x_cord_width_p + mem_noc_y_cord_width_p, mem_noc_y_cord_width_p, 0} : {mem_noc_y_cord_width_p + mem_noc_x_cord_width_p, mem_noc_x_cord_width_p, 0}); + localparam mem_noc_cord_width_p = mem_noc_cord_markers_pos_p[32+:32]; + localparam async_dma_clk_p = $signed(proc_param_lp[159-:32]); + localparam dma_noc_max_credits_p = $signed(proc_param_lp[31-:32]); + localparam dma_noc_flit_width_p = $signed(proc_param_lp[127-:32]); + localparam dma_noc_cid_width_p = $signed(proc_param_lp[95-:32]); + localparam dma_noc_len_width_p = $signed(proc_param_lp[63-:32]); + localparam dma_noc_y_cord_width_p = $clog2({1'b0, (ic_y_dim_p + cc_y_dim_p) + mc_y_dim_p} + 1); + localparam dma_noc_x_cord_width_p = 0; + localparam dma_noc_dims_p = 1; + localparam dma_noc_cord_dims_p = 2; + localparam dma_noc_dirs_p = 3; + localparam dma_noc_trans_p = 1; + localparam signed [95:0] dma_noc_cord_markers_pos_p = (dma_noc_trans_p ? {dma_noc_x_cord_width_p + dma_noc_y_cord_width_p, dma_noc_y_cord_width_p, 0} : {dma_noc_y_cord_width_p + dma_noc_x_cord_width_p, dma_noc_x_cord_width_p, 0}); + localparam dma_noc_cord_width_p = dma_noc_cord_markers_pos_p[32+:32]; + localparam did_width_p = mem_noc_did_width_p; + localparam bp_common_pkg_dword_width_gp = 64; + localparam bp_common_pkg_page_offset_width_gp = 12; + localparam etag_width_p = 52; + localparam vtag_width_p = vaddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ptag_width_p = paddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam dtag_width_p = daddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam ctag_width_p = caddr_width_p - bp_common_pkg_page_offset_width_gp; + localparam icache_tag_width_p = caddr_width_p - ((((icache_sets_p * icache_block_width_p) / 8) == 1) || (((icache_sets_p * icache_block_width_p) / 8) == 0) ? 1 : $clog2((icache_sets_p * icache_block_width_p) / 8)); + localparam dcache_tag_width_p = caddr_width_p - ((((dcache_sets_p * dcache_block_width_p) / 8) == 1) || (((dcache_sets_p * dcache_block_width_p) / 8) == 0) ? 1 : $clog2((dcache_sets_p * dcache_block_width_p) / 8)); + localparam acache_tag_width_p = caddr_width_p - ((((acache_sets_p * acache_block_width_p) / 8) == 1) || (((acache_sets_p * acache_block_width_p) / 8) == 0) ? 1 : $clog2((acache_sets_p * acache_block_width_p) / 8)); + localparam bp_common_pkg_cinstr_width_gp = 16; + localparam fetch_width_p = bp_common_pkg_cinstr_width_gp + icache_data_width_p; + localparam fetch_cinstr_p = fetch_width_p >> 4; + localparam fetch_sel_p = ((fetch_cinstr_p == 1) || (fetch_cinstr_p == 0) ? 1 : $clog2(fetch_cinstr_p)); + localparam fetch_ptr_p = $clog2({1'b0, fetch_cinstr_p} + 1); + localparam fetch_bytes_p = fetch_width_p >> 3; + localparam fetch_offset_p = ((fetch_bytes_p == 1) || (fetch_bytes_p == 0) ? 1 : $clog2(fetch_bytes_p)); + localparam bp_common_pkg_instr_width_gp = 32; + localparam issue_width_p = bp_common_pkg_instr_width_gp; + localparam issue_cinstr_p = 2; + localparam issue_sel_p = 1; + localparam issue_ptr_p = 2; + localparam issue_bytes_p = 4; + localparam issue_offset_p = 2; + localparam lce_req_payload_width_lp = (((cce_id_width_p + lce_id_width_p) + 1) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + did_width_p; + localparam lce_cmd_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_fill_payload_width_lp = ((((2 * lce_id_width_p) + cce_id_width_p) + (2 * ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p)))) + 6) + did_width_p; + localparam lce_resp_payload_width_lp = (cce_id_width_p + lce_id_width_p) + did_width_p; + localparam mem_fwd_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam mem_rev_payload_width_lp = (((3 + lce_id_width_p) + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + 3) + did_width_p; + localparam lce_req_header_width_lp = ((8 + paddr_width_p) + 3) + lce_req_payload_width_lp; + localparam lce_cmd_header_width_lp = ((8 + paddr_width_p) + 3) + lce_cmd_payload_width_lp; + localparam lce_fill_header_width_lp = ((8 + paddr_width_p) + 3) + lce_fill_payload_width_lp; + localparam lce_resp_header_width_lp = ((8 + paddr_width_p) + 3) + lce_resp_payload_width_lp; + localparam mem_fwd_header_width_lp = ((8 + paddr_width_p) + 3) + mem_fwd_payload_width_lp; + localparam mem_rev_header_width_lp = ((8 + paddr_width_p) + 3) + mem_rev_payload_width_lp; + localparam dma_pkt_width_lp = (1 + daddr_width_p) + l2_block_size_in_words_p; + input clk_i; + input rt_clk_i; + input reset_i; + input [did_width_p - 1:0] my_did_i; + input [did_width_p - 1:0] host_did_i; + output wire [mem_fwd_header_width_lp - 1:0] mem_fwd_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_fwd_data_o; + output wire mem_fwd_v_o; + input mem_fwd_ready_and_i; + input [mem_rev_header_width_lp - 1:0] mem_rev_header_i; + input [bedrock_fill_width_p - 1:0] mem_rev_data_i; + input mem_rev_v_i; + output wire mem_rev_ready_and_o; + input [mem_fwd_header_width_lp - 1:0] mem_fwd_header_i; + input [bedrock_fill_width_p - 1:0] mem_fwd_data_i; + input mem_fwd_v_i; + output wire mem_fwd_ready_and_o; + output wire [mem_rev_header_width_lp - 1:0] mem_rev_header_o; + output wire [bedrock_fill_width_p - 1:0] mem_rev_data_o; + output wire mem_rev_v_o; + input mem_rev_ready_and_i; + output wire [((num_cce_p * l2_dmas_p) * dma_pkt_width_lp) - 1:0] dma_pkt_o; + output wire [(num_cce_p * l2_dmas_p) - 1:0] dma_pkt_v_o; + input [(num_cce_p * l2_dmas_p) - 1:0] dma_pkt_ready_and_i; + input [((num_cce_p * l2_dmas_p) * l2_fill_width_p) - 1:0] dma_data_i; + input [(num_cce_p * l2_dmas_p) - 1:0] dma_data_v_i; + output wire [(num_cce_p * l2_dmas_p) - 1:0] dma_data_ready_and_o; + output wire [((num_cce_p * l2_dmas_p) * l2_fill_width_p) - 1:0] dma_data_o; + output wire [(num_cce_p * l2_dmas_p) - 1:0] dma_data_v_o; + input [(num_cce_p * l2_dmas_p) - 1:0] dma_data_ready_and_i; + localparam bp_common_pkg_mem_fwd_stream_mask_gp = 6; + localparam bp_common_pkg_mem_rev_stream_mask_gp = 5; + function automatic [2:0] sv2v_cast_3; + input reg [2:0] inp; + sv2v_cast_3 = inp; + endfunction + generate + if (cce_type_p != 2'd0) begin : m + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p))] proc_fwd_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p))] proc_fwd_link_lo; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p))] proc_rev_link_li; + wire [(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? (((sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3(3'd0 + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p)) - 1) : (((sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1)) + 1) * (2 + mem_noc_flit_width_p)) + ((sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p)) - 1)):(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) * (2 + mem_noc_flit_width_p) : sv2v_cast_3((3'd0 + 1) + 1) * (2 + mem_noc_flit_width_p))] proc_rev_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] dma_link_lo; + wire [((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p)) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + dma_noc_flit_width_p)) - 1) : ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))) + 1) * (2 + dma_noc_flit_width_p)) + (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p)) - 1)):((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) * (2 + dma_noc_flit_width_p) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) * (2 + dma_noc_flit_width_p))] dma_link_li; + assign dma_link_li[(2 + dma_noc_flit_width_p) * ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - (((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p : ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + (mc_x_dim_p - 1)) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1))))+:(2 + dma_noc_flit_width_p) * mc_x_dim_p] = 1'sb0; + assign proc_fwd_link_li[(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)+:2 + mem_noc_flit_width_p] = 1'sb0; + assign proc_rev_link_li[(sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3(3'd0 + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3(3'd0 + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)+:2 + mem_noc_flit_width_p] = 1'sb0; + bp_multicore #(.bp_params_p(bp_params_p)) multicore( + .core_clk_i(clk_i), + .rt_clk_i(rt_clk_i), + .core_reset_i(reset_i), + .coh_clk_i(clk_i), + .coh_reset_i(reset_i), + .mem_clk_i(clk_i), + .mem_reset_i(reset_i), + .dma_clk_i(clk_i), + .dma_reset_i(reset_i), + .my_did_i(my_did_i), + .host_did_i(host_did_i), + .mem_fwd_link_i(proc_fwd_link_li), + .mem_fwd_link_o(proc_fwd_link_lo), + .mem_rev_link_i(proc_rev_link_li), + .mem_rev_link_o(proc_rev_link_lo), + .dma_link_i(dma_link_li), + .dma_link_o(dma_link_lo) + ); + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_cast_i; + assign mem_fwd_header_cast_i = mem_fwd_header_i; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_cast_o; + assign mem_rev_header_o = mem_rev_header_cast_o; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_fwd_header_cast_o; + assign mem_fwd_header_o = mem_fwd_header_cast_o; + wire [(((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + 3) + paddr_width_p) + 7:0] mem_rev_header_cast_i; + assign mem_rev_header_cast_i = mem_rev_header_i; + wire [mem_noc_cord_width_p - 1:0] mem_fwd_dst_cord_li = my_did_i; + wire [mem_noc_cid_width_p - 1:0] mem_fwd_dst_cid_li = 1'sb0; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(mem_noc_flit_width_p), + .cord_width_p(mem_noc_cord_width_p), + .len_width_p(mem_noc_len_width_p), + .cid_width_p(mem_noc_cid_width_p), + .pr_hdr_width_p(mem_fwd_header_width_lp), + .pr_payload_width_p(mem_fwd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) mem_fwd_stream_to_wormhole( + .clk_i(clk_i), + .reset_i(reset_i), + .pr_hdr_i(mem_fwd_header_cast_i), + .pr_data_i(mem_fwd_data_i), + .pr_v_i(mem_fwd_v_i), + .pr_ready_and_o(mem_fwd_ready_and_o), + .dst_cord_i(mem_fwd_dst_cord_li), + .dst_cid_i(mem_fwd_dst_cid_li), + .link_data_o(proc_fwd_link_li[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p - 1)-:mem_noc_flit_width_p]), + .link_v_o(proc_fwd_link_li[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p + 1)]), + .link_ready_and_i(proc_fwd_link_lo[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p + 0)]) + ); + wire [mem_noc_cord_width_p - 1:0] mem_rev_dst_cord_li = mem_rev_header_cast_i[(((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? ((((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) >= 0 ? (((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 3 : 1 - ((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2)) + (3 + (paddr_width_p + 7))) - (((((3 + ((lce_assoc_p == 1) || (lce_assoc_p == 0) ? 1 : $clog2(lce_assoc_p))) + lce_id_width_p) + did_width_p) + 2) - (did_width_p + 2)) : (((3 + (paddr_width_p + 8)) - (did_width_p + 2)) + ((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))) - 1)-:((did_width_p + 2) >= 3 ? did_width_p + 0 : 4 - (did_width_p + 2))]; + wire [mem_noc_cid_width_p - 1:0] mem_rev_dst_cid_li = 1'sb0; + bp_me_stream_to_wormhole #( + .bp_params_p(bp_params_p), + .flit_width_p(mem_noc_flit_width_p), + .cord_width_p(mem_noc_cord_width_p), + .len_width_p(mem_noc_len_width_p), + .cid_width_p(mem_noc_cid_width_p), + .pr_hdr_width_p(mem_rev_header_width_lp), + .pr_payload_width_p(mem_rev_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) mem_rev_stream_to_wormhole( + .clk_i(clk_i), + .reset_i(reset_i), + .pr_hdr_i(mem_rev_header_cast_i), + .pr_data_i(mem_rev_data_i), + .pr_v_i(mem_rev_v_i), + .pr_ready_and_o(mem_rev_ready_and_o), + .dst_cord_i(mem_rev_dst_cord_li), + .dst_cid_i(mem_rev_dst_cid_li), + .link_data_o(proc_rev_link_li[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p - 1)-:mem_noc_flit_width_p]), + .link_v_o(proc_rev_link_li[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p + 1)]), + .link_ready_and_i(proc_rev_link_lo[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p + 0)]) + ); + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(mem_noc_flit_width_p), + .cord_width_p(mem_noc_cord_width_p), + .len_width_p(mem_noc_len_width_p), + .cid_width_p(mem_noc_cid_width_p), + .pr_hdr_width_p(mem_fwd_header_width_lp), + .pr_payload_width_p(mem_fwd_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_mem_fwd_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) mem_fwd_wormhole_to_stream( + .clk_i(clk_i), + .reset_i(reset_i), + .link_data_i(proc_fwd_link_lo[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p - 1)-:mem_noc_flit_width_p]), + .link_v_i(proc_fwd_link_lo[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p + 1)]), + .link_ready_and_o(proc_fwd_link_li[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p + 0)]), + .pr_hdr_o(mem_fwd_header_cast_o), + .pr_data_o(mem_fwd_data_o), + .pr_v_o(mem_fwd_v_o), + .pr_ready_and_i(mem_fwd_ready_and_i) + ); + bp_me_wormhole_to_stream #( + .bp_params_p(bp_params_p), + .flit_width_p(mem_noc_flit_width_p), + .cord_width_p(mem_noc_cord_width_p), + .len_width_p(mem_noc_len_width_p), + .cid_width_p(mem_noc_cid_width_p), + .pr_hdr_width_p(mem_rev_header_width_lp), + .pr_payload_width_p(mem_rev_payload_width_lp), + .pr_stream_mask_p(bp_common_pkg_mem_rev_stream_mask_gp), + .pr_data_width_p(bedrock_fill_width_p) + ) mem_rev_wormhole_to_stream( + .clk_i(clk_i), + .reset_i(reset_i), + .link_data_i(proc_rev_link_lo[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p - 1)-:mem_noc_flit_width_p]), + .link_v_i(proc_rev_link_lo[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p + 1)]), + .link_ready_and_o(proc_rev_link_li[((sv2v_cast_3((3'd0 + 1) + 1) >= sv2v_cast_3(3'd0 + 1) ? sv2v_cast_3((3'd0 + 1) + 1) : sv2v_cast_3(3'd0 + 1) - (sv2v_cast_3((3'd0 + 1) + 1) - sv2v_cast_3((3'd0 + 1) + 1))) * (2 + mem_noc_flit_width_p)) + (mem_noc_flit_width_p + 0)]), + .pr_hdr_o(mem_rev_header_cast_o), + .pr_data_o(mem_rev_data_o), + .pr_v_o(mem_rev_v_o), + .pr_ready_and_i(mem_rev_ready_and_i) + ); + localparam dma_per_col_lp = (num_cce_p / mc_x_dim_p) * l2_dmas_p; + wire [((mc_x_dim_p * dma_per_col_lp) * dma_pkt_width_lp) - 1:0] dma_pkt_lo; + wire [(mc_x_dim_p * dma_per_col_lp) - 1:0] dma_pkt_v_lo; + wire [(mc_x_dim_p * dma_per_col_lp) - 1:0] dma_pkt_yumi_li; + wire [((mc_x_dim_p * dma_per_col_lp) * l2_fill_width_p) - 1:0] dma_data_lo; + wire [(mc_x_dim_p * dma_per_col_lp) - 1:0] dma_data_v_lo; + wire [(mc_x_dim_p * dma_per_col_lp) - 1:0] dma_data_yumi_li; + wire [((mc_x_dim_p * dma_per_col_lp) * l2_fill_width_p) - 1:0] dma_data_li; + wire [(mc_x_dim_p * dma_per_col_lp) - 1:0] dma_data_v_li; + wire [(mc_x_dim_p * dma_per_col_lp) - 1:0] dma_data_ready_and_lo; + genvar _gv_i_93; + for (_gv_i_93 = 0; _gv_i_93 < mc_x_dim_p; _gv_i_93 = _gv_i_93 + 1) begin : column + localparam i = _gv_i_93; + wire [((((((((((dma_noc_flit_width_p - (dma_noc_cord_width_p * 2)) - 2) - dma_noc_len_width_p) - (dma_noc_cid_width_p * 2)) + 2) + dma_noc_cid_width_p) + dma_noc_cord_width_p) + dma_noc_cid_width_p) + dma_noc_len_width_p) + dma_noc_cord_width_p) - 1:0] header_flit; + assign header_flit = dma_link_lo[(((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + i : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + i) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)))) * (2 + dma_noc_flit_width_p)) + (dma_noc_flit_width_p - 1)-:dma_noc_flit_width_p]; + wire [((dma_per_col_lp == 1) || (dma_per_col_lp == 0) ? 1 : $clog2(dma_per_col_lp)) - 1:0] dma_id_li = (l2_dmas_p * (header_flit[dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p - 1)))-:((dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p - 1)))) >= (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p + 0))) ? ((dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p - 1)))) - (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p + 0)))) + 1 : ((dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p + 0))) - (dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p - 1))))) + 1)] - 1)) + header_flit[dma_noc_cid_width_p + (dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p - 1))))-:((dma_noc_cid_width_p + (dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p - 1))))) >= (dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p + 0)))) ? ((dma_noc_cid_width_p + (dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p - 1))))) - (dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p + 0))))) + 1 : ((dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p + 0)))) - (dma_noc_cid_width_p + (dma_noc_cord_width_p + (dma_noc_cid_width_p + (dma_noc_len_width_p + (dma_noc_cord_width_p - 1)))))) + 1)]; + bsg_wormhole_to_cache_dma_fanout #( + .wh_flit_width_p(dma_noc_flit_width_p), + .wh_cid_width_p(dma_noc_cid_width_p), + .wh_len_width_p(dma_noc_len_width_p), + .wh_cord_width_p(dma_noc_cord_width_p), + .num_dma_p(dma_per_col_lp), + .dma_addr_width_p(daddr_width_p), + .dma_burst_len_p(l2_block_size_in_fill_p), + .dma_mask_width_p(l2_block_size_in_words_p) + ) wh_to_cache_dma( + .clk_i(clk_i), + .reset_i(reset_i), + .wh_link_sif_i(dma_link_lo[((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + i : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + i) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)))) * (2 + dma_noc_flit_width_p)+:2 + dma_noc_flit_width_p]), + .wh_dma_id_i(dma_id_li), + .wh_link_sif_o(dma_link_li[((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)) >= (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) ? ((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + i : (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p : sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - ((((sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? sv2v_cast_3((3'd0 + 1) + 3) : sv2v_cast_3((3'd0 + 1) + 2) - (sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 3))) * mc_x_dim_p) + i) - (sv2v_cast_3((3'd0 + 1) + 3) >= sv2v_cast_3((3'd0 + 1) + 2) ? (((sv2v_cast_3((3'd0 + 1) + 3) - sv2v_cast_3((3'd0 + 1) + 2)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 2) * mc_x_dim_p) - 1) : (((sv2v_cast_3((3'd0 + 1) + 2) - sv2v_cast_3((3'd0 + 1) + 3)) + 1) * mc_x_dim_p) + ((sv2v_cast_3((3'd0 + 1) + 3) * mc_x_dim_p) - 1)))) * (2 + dma_noc_flit_width_p)+:2 + dma_noc_flit_width_p]), + .dma_pkt_o(dma_pkt_lo[dma_pkt_width_lp * (i * dma_per_col_lp)+:dma_pkt_width_lp * dma_per_col_lp]), + .dma_pkt_v_o(dma_pkt_v_lo[i * dma_per_col_lp+:dma_per_col_lp]), + .dma_pkt_yumi_i(dma_pkt_yumi_li[i * dma_per_col_lp+:dma_per_col_lp]), + .dma_data_i(dma_data_li[l2_fill_width_p * (i * dma_per_col_lp)+:l2_fill_width_p * dma_per_col_lp]), + .dma_data_v_i(dma_data_v_li[i * dma_per_col_lp+:dma_per_col_lp]), + .dma_data_ready_and_o(dma_data_ready_and_lo[i * dma_per_col_lp+:dma_per_col_lp]), + .dma_data_o(dma_data_lo[l2_fill_width_p * (i * dma_per_col_lp)+:l2_fill_width_p * dma_per_col_lp]), + .dma_data_v_o(dma_data_v_lo[i * dma_per_col_lp+:dma_per_col_lp]), + .dma_data_yumi_i(dma_data_yumi_li[i * dma_per_col_lp+:dma_per_col_lp]) + ); + end + genvar _gv_i_94; + for (_gv_i_94 = 0; _gv_i_94 < num_cce_p; _gv_i_94 = _gv_i_94 + 1) begin : rof1 + localparam i = _gv_i_94; + genvar _gv_j_22; + for (_gv_j_22 = 0; _gv_j_22 < l2_dmas_p; _gv_j_22 = _gv_j_22 + 1) begin : rof2 + localparam j = _gv_j_22; + localparam col_lp = i % mc_x_dim_p; + localparam col_pos_lp = ((i / mc_x_dim_p) * l2_dmas_p) + j; + assign dma_pkt_o[((i * l2_dmas_p) + j) * dma_pkt_width_lp+:dma_pkt_width_lp] = dma_pkt_lo[((col_lp * dma_per_col_lp) + col_pos_lp) * dma_pkt_width_lp+:dma_pkt_width_lp]; + assign dma_pkt_v_o[(i * l2_dmas_p) + j] = dma_pkt_v_lo[(col_lp * dma_per_col_lp) + col_pos_lp]; + assign dma_pkt_yumi_li[(col_lp * dma_per_col_lp) + col_pos_lp] = dma_pkt_ready_and_i[(i * l2_dmas_p) + j] & dma_pkt_v_o[(i * l2_dmas_p) + j]; + assign dma_data_o[((i * l2_dmas_p) + j) * l2_fill_width_p+:l2_fill_width_p] = dma_data_lo[((col_lp * dma_per_col_lp) + col_pos_lp) * l2_fill_width_p+:l2_fill_width_p]; + assign dma_data_v_o[(i * l2_dmas_p) + j] = dma_data_v_lo[(col_lp * dma_per_col_lp) + col_pos_lp]; + assign dma_data_yumi_li[(col_lp * dma_per_col_lp) + col_pos_lp] = dma_data_ready_and_i[(i * l2_dmas_p) + j] & dma_data_v_o[(i * l2_dmas_p) + j]; + assign dma_data_li[((col_lp * dma_per_col_lp) + col_pos_lp) * l2_fill_width_p+:l2_fill_width_p] = dma_data_i[((i * l2_dmas_p) + j) * l2_fill_width_p+:l2_fill_width_p]; + assign dma_data_v_li[(col_lp * dma_per_col_lp) + col_pos_lp] = dma_data_v_i[(i * l2_dmas_p) + j]; + assign dma_data_ready_and_o[(i * l2_dmas_p) + j] = dma_data_ready_and_lo[(col_lp * dma_per_col_lp) + col_pos_lp]; + end + end + end + else begin : u + localparam sv2v_uu_unicore_coh_noc_trans_p = 0; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_custom_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000000800000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000080, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_default_cfg_p = 2688'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000280000002100000020000000010000003100000004000000090000000600000007000000040000000200000008000000020000000100000008000000020000000100000201000000400000000800000200000000800000004000000001000001f50000004000000008000002000000008000000040000000010000000100000040000000080000020000000080000000400000000100000000000000080000020000000080000000e5000000020000000100000080000000200000000200000200000000800000000800000004000000030000000f00000007000000010000000b00000000000000800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_12_cfg_p = {896'h4000000030000000100000000000000000000000000000000000000000000000c00000018000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_16_cfg_p = {896'h4000000040000000100000000000000000000000000000000000000000000001000000020000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p = {896'h1000000010000000100000000000000000000000100000000000000020000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p = {896'h1000000010000000100000000000000010000000100000001000000010000000100000003000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000002000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_cfg_p = {896'h1000000010000000100000000000000000000000000000000000000000000000100000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_l2e_cfg_p = {896'h1000000010000000100000001000000000000000000000000000000000000000200000002000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_megaparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000380000003700000036000000010000002e000000010000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000002000000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000200, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h2000000000300000004000000200000000000000200000000030000000300000004000000200000000000000200000000040000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_miniparrot_cfg_p = {896'h100000001000000010000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000001000000000200000080000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h100000000020000008000000080000000400000000100000001000000080000008000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_2_cfg_p = {896'h2000000010000000100000000000000000000000000000000000000000000000200000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_2_l2e_cfg_p = {896'h2000000010000000100000001000000000000000000000000000000000000000400000004000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_3_cfg_p = {896'h3000000010000000100000000000000000000000000000000000000000000000300000006000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p = {896'h2000000020000000100000000000000000000000100000000000000020000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p = {896'h200000002000000010000000000000001000000010000000100000001000000040000000a000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_cfg_p = {896'h2000000020000000100000000000000000000000000000000000000000000000400000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_l2e_cfg_p = {896'h2000000020000000100000001000000000000000000000000000000000000000600000008000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_6_cfg_p = {896'h300000002000000010000000000000000000000000000000000000000000000060000000c000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000002000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_multicore_8_cfg_p = {896'h4000000020000000100000000000000000000000000000000000000000000000800000010000000270000002800000021000000200000000100000031000000040000000900000006000000070000000400000002000000080000000200000001000000080000000200000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) == "inv" ? (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)), 192'h000000400000000800000200000000800000004000000001, ((((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0001)) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 192'h000000400000000800000200000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000001000000080000020000000080, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)), 288'h10000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_unicore_cfg_p = sv2v_uu_unicore_bp_common_pkg_bp_default_cfg_p; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_unicore_megaparrot_cfg_p = {896'h1000000010000000000000000000000000000000000000000000000000000000100000002000000270000003800000037000000360000000100000032000000030000000900000008000000080000000400000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000400000000800000200000002000000004000000001, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000), 192'h000000400000000800000200000002000000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000020000000200, ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111), 288'h20000000800000200000000800000000800000200000002000000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_unicore_miniparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000001000000000200000080000000800000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000001000000000200000080000000800000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000008000000080, ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000080000000200000000200000200000000800000000800000004, (32'sd1 << 1'b0) | (32'sd1 << 1'b1), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11), ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [2687:0] sv2v_uu_unicore_bp_common_pkg_bp_unicore_tinyparrot_cfg_p = {896'h100000001000000000000000000000000000000000000000000000000000000010000000200000027000000220000002100000020000000010000001f000000010000000600000004000000050000000200000002000000080000000200000001000000080000000200000001, (32'sd1 << 4'b0000) | (32'sd1 << 4'b1001), 192'h000000800000000100000040000000400000004000000001, (((32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)) == "inv" ? ((((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0100)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) | (32'sd1 << 4'b1000) : (32'sd1 << 4'b0000) | (32'sd1 << 4'b0100)), 192'h000000800000000100000040000000400000004000000001, 32'sd1 << 4'b0000, 320'h40000000080000020000000080000000400000000100000000000000080000004000000040, (((((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)) == "inv" ? ((((32'sd1 << 4'b0000) | (32'sd1 << 4'b0010)) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111) : (((32'sd1 << 4'b0010) | (32'sd1 << 4'b0101)) | (32'sd1 << 4'b0110)) | (32'sd1 << 4'b0111)), 288'h20000000100000040000000200000000200000200000000400000000800000004, ((32'sd1 << 1'b0) == "inv" ? (32'sd1 << 1'b0) | (32'sd1 << 1'b1) : 32'sd1 << 1'b0), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10)) | (32'sd1 << 2'b11) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), (((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) == "inv" ? ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b10) : (32'sd1 << 2'b00) | (32'sd1 << 2'b01)), 32'sd1 << 1'b0, ((32'sd1 << 2'b00) | (32'sd1 << 2'b01)) | (32'sd1 << 2'b11), 512'h800000000300000004000000200000000000000080000000030000000300000004000000200000000000000080000000030000000400000020}; + localparam [344063:0] sv2v_uu_unicore_bp_common_pkg_all_cfgs_gp = {sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_l2e_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_2_l2e_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_l2e_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_acc_vdp_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_acc_scratchpad_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_acc_vdp_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_acc_scratchpad_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_16_cce_ucode_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_12_cce_ucode_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_8_cce_ucode_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_6_cce_ucode_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_cce_ucode_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_3_cce_ucode_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_2_cce_ucode_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_cce_ucode_megaparrot_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_cce_ucode_miniparrot_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_cce_ucode_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_16_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_12_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_8_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_6_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_4_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_3_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_2_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_megaparrot_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_miniparrot_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_multicore_1_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_unicore_megaparrot_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_unicore_miniparrot_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_unicore_tinyparrot_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_unicore_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_custom_cfg_p, sv2v_uu_unicore_bp_common_pkg_bp_default_cfg_p}; + localparam [6:0] sv2v_uu_unicore_bp_params_p = bp_params_p; + localparam [2687:0] sv2v_uu_unicore_proc_param_lp = sv2v_uu_unicore_bp_common_pkg_all_cfgs_gp[sv2v_uu_unicore_bp_params_p * 2688+:2688]; + localparam sv2v_uu_unicore_cac_x_dim_p = $signed(sv2v_uu_unicore_proc_param_lp[2559-:32]); + localparam sv2v_uu_unicore_cc_x_dim_p = $signed(sv2v_uu_unicore_proc_param_lp[2687-:32]); + localparam sv2v_uu_unicore_sac_x_dim_p = $signed(sv2v_uu_unicore_proc_param_lp[2527-:32]); + localparam sv2v_uu_unicore_coh_noc_x_cord_width_p = $clog2({1'b0, (sv2v_uu_unicore_sac_x_dim_p + sv2v_uu_unicore_cc_x_dim_p) + sv2v_uu_unicore_cac_x_dim_p} + 1); + localparam sv2v_uu_unicore_cc_y_dim_p = $signed(sv2v_uu_unicore_proc_param_lp[2655-:32]); + localparam sv2v_uu_unicore_ic_y_dim_p = $signed(sv2v_uu_unicore_proc_param_lp[2623-:32]); + localparam sv2v_uu_unicore_mc_y_dim_p = $signed(sv2v_uu_unicore_proc_param_lp[2591-:32]); + localparam sv2v_uu_unicore_coh_noc_y_cord_width_p = $clog2({1'b0, (sv2v_uu_unicore_ic_y_dim_p + sv2v_uu_unicore_cc_y_dim_p) + sv2v_uu_unicore_mc_y_dim_p} + 1); + localparam signed [95:0] sv2v_uu_unicore_coh_noc_cord_markers_pos_p = (sv2v_uu_unicore_coh_noc_trans_p ? {sv2v_uu_unicore_coh_noc_x_cord_width_p + sv2v_uu_unicore_coh_noc_y_cord_width_p, sv2v_uu_unicore_coh_noc_y_cord_width_p, 0} : {sv2v_uu_unicore_coh_noc_y_cord_width_p + sv2v_uu_unicore_coh_noc_x_cord_width_p, sv2v_uu_unicore_coh_noc_x_cord_width_p, 0}); + localparam sv2v_uu_unicore_coh_noc_dims_p = 2; + localparam sv2v_uu_unicore_coh_noc_cord_width_p = sv2v_uu_unicore_coh_noc_cord_markers_pos_p[64+:32]; + localparam [sv2v_uu_unicore_coh_noc_cord_width_p - 1:0] sv2v_uu_unicore_ext_my_cord_i_0 = 1'sb0; + bp_unicore #(.bp_params_p(bp_params_p)) unicore( + .my_cord_i(sv2v_uu_unicore_ext_my_cord_i_0), + .clk_i(clk_i), + .rt_clk_i(rt_clk_i), + .reset_i(reset_i), + .my_did_i(my_did_i), + .host_did_i(host_did_i), + .mem_fwd_header_o(mem_fwd_header_o), + .mem_fwd_data_o(mem_fwd_data_o), + .mem_fwd_v_o(mem_fwd_v_o), + .mem_fwd_ready_and_i(mem_fwd_ready_and_i), + .mem_rev_header_i(mem_rev_header_i), + .mem_rev_data_i(mem_rev_data_i), + .mem_rev_v_i(mem_rev_v_i), + .mem_rev_ready_and_o(mem_rev_ready_and_o), + .mem_fwd_header_i(mem_fwd_header_i), + .mem_fwd_data_i(mem_fwd_data_i), + .mem_fwd_v_i(mem_fwd_v_i), + .mem_fwd_ready_and_o(mem_fwd_ready_and_o), + .mem_rev_header_o(mem_rev_header_o), + .mem_rev_data_o(mem_rev_data_o), + .mem_rev_v_o(mem_rev_v_o), + .mem_rev_ready_and_i(mem_rev_ready_and_i), + .dma_pkt_o(dma_pkt_o), + .dma_pkt_v_o(dma_pkt_v_o), + .dma_pkt_ready_and_i(dma_pkt_ready_and_i), + .dma_data_i(dma_data_i), + .dma_data_v_i(dma_data_v_i), + .dma_data_ready_and_o(dma_data_ready_and_o), + .dma_data_o(dma_data_o), + .dma_data_v_o(dma_data_v_o), + .dma_data_ready_and_i(dma_data_ready_and_i) + ); + end + endgenerate +endmodule +module bsg_async_noc_link ( + aclk_i, + areset_i, + bclk_i, + breset_i, + alink_i, + alink_o, + blink_i, + blink_o +); + parameter width_p = 0; + parameter lg_size_p = 0; + parameter bsg_ready_and_link_sif_width_lp = width_p + 2; + input aclk_i; + input areset_i; + input bclk_i; + input breset_i; + input [bsg_ready_and_link_sif_width_lp - 1:0] alink_i; + output wire [bsg_ready_and_link_sif_width_lp - 1:0] alink_o; + input [bsg_ready_and_link_sif_width_lp - 1:0] blink_i; + output wire [bsg_ready_and_link_sif_width_lp - 1:0] blink_o; + wire [(2 + width_p) - 1:0] alink_cast_i; + wire [(2 + width_p) - 1:0] alink_cast_o; + wire [(2 + width_p) - 1:0] blink_cast_i; + wire [(2 + width_p) - 1:0] blink_cast_o; + assign alink_cast_i = alink_i; + assign blink_cast_i = blink_i; + assign alink_o = alink_cast_o; + assign blink_o = blink_cast_o; + wire alink_full_lo; + assign alink_cast_o[width_p + 0] = ~alink_full_lo; + wire alink_enq_li = alink_cast_i[width_p + 1] & alink_cast_o[width_p + 0]; + wire blink_deq_li = blink_cast_o[width_p + 1] & blink_cast_i[width_p + 0]; + bsg_async_fifo #( + .width_p(width_p), + .lg_size_p(lg_size_p) + ) link_a_to_b( + .w_clk_i(aclk_i), + .w_reset_i(areset_i), + .w_enq_i(alink_enq_li), + .w_data_i(alink_cast_i[width_p - 1-:width_p]), + .w_full_o(alink_full_lo), + .r_clk_i(bclk_i), + .r_reset_i(breset_i), + .r_deq_i(blink_deq_li), + .r_data_o(blink_cast_o[width_p - 1-:width_p]), + .r_valid_o(blink_cast_o[width_p + 1]) + ); + wire blink_full_lo; + assign blink_cast_o[width_p + 0] = ~blink_full_lo; + wire blink_enq_li = blink_cast_i[width_p + 1] & blink_cast_o[width_p + 0]; + wire alink_deq_li = alink_cast_o[width_p + 1] & alink_cast_i[width_p + 0]; + bsg_async_fifo #( + .width_p(width_p), + .lg_size_p(lg_size_p) + ) link_b_to_a( + .w_clk_i(bclk_i), + .w_reset_i(breset_i), + .w_enq_i(blink_enq_li), + .w_data_i(blink_cast_i[width_p - 1-:width_p]), + .w_full_o(blink_full_lo), + .r_clk_i(aclk_i), + .r_reset_i(areset_i), + .r_deq_i(alink_deq_li), + .r_data_o(alink_cast_o[width_p - 1-:width_p]), + .r_valid_o(alink_cast_o[width_p + 1]) + ); +endmodule +module bsg_dff_sync_read ( + clk_i, + reset_i, + v_n_i, + data_i, + data_o +); + parameter width_p = 0; + parameter bypass_p = 0; + input clk_i; + input reset_i; + input v_n_i; + input [width_p - 1:0] data_i; + output wire [width_p - 1:0] data_o; + wire v_r; + bsg_dff #(.width_p(1)) v_reg( + .clk_i(clk_i), + .data_i(v_n_i), + .data_o(v_r) + ); + generate + if (bypass_p == 1) begin : bypass + bsg_dff_en_bypass #(.width_p(width_p)) data_reg( + .clk_i(clk_i), + .en_i(v_r), + .data_i(data_i), + .data_o(data_o) + ); + end + else begin : no_bypass + bsg_dff_en #(.width_p(width_p)) data_reg( + .clk_i(clk_i), + .en_i(v_r), + .data_i(data_i), + .data_o(data_o) + ); + end + endgenerate +endmodule +module bsg_fifo_1r1w_edge ( + clk_i, + reset_i, + data_i, + v_i, + ready_and_o, + data_o, + v_o, + ready_and_i +); + parameter width_p = 0; + input clk_i; + input reset_i; + input [width_p - 1:0] data_i; + input v_i; + output wire ready_and_o; + output wire [width_p - 1:0] data_o; + output wire v_o; + input ready_and_i; + wire send_clk = clk_i; + wire recv_clk = ~clk_i; + wire ready_and_ext_r; + bsg_dff #(.width_p(1)) recv_reg( + .clk_i(send_clk), + .data_i(ready_and_i), + .data_o(ready_and_ext_r) + ); + assign ready_and_o = ready_and_ext_r; + assign data_o = data_i; + assign v_o = v_i; +endmodule \ No newline at end of file